Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBscript, Excel und Find-Methode

Frage Entwicklung VB for Applications

Mitglied: autogen

autogen (Level 1) - Jetzt verbinden

22.05.2013 um 22:02 Uhr, 2054 Aufrufe, 2 Kommentare

Hallo zusammen,

ich stehe zurzeit auf'm Schlauch, komme nicht weiter und hoffe auf Eure Unterstützung.
Mittels VBScript (und nicht anders) soll in der Spalte A einer Excel-Tabelle nach einem bestimmten Wert, der 100% übereinstimmen muss, gesucht werden.
Die Zeile 40 funktioniert fehlerfrei, gibt aber auch Zellen zurück, die die gesuchte Zeichenfolge innerhalb einer anderen Zeichenfolge findet.
Beispiel:
Gesucht: AAA
Gefunden: AAA, CAAA, ABAAAC, etc.

In Verbindung mit "LookAt:=xlWhole" (Zeile 43) soll nur die Zelle zurückgegeben werden, die 100% mit dem gesuchten Wert übereinstimmt.
Beispiel:
Gesucht: AAA
Gefunden: AAA
Leider generiert die Zeile 43 aber folgender Fehler:
"Kompilierungsfehler in Microsoft VBScript: ')' erwartet"

Meine Umgebung:
MS Office 2003, 2010, 2013 mit allen Patchen und Service Packs
Windows XP Prof., Windows XP ebenfalls mit allen Patchen und Service Packs.


01.
Option Explicit 
02.
'On Error Resume Next 
03.
 
04.
Dim oWorkbook, oExcel, oSheet, arWerte, inti 
05.
 
06.
Set oExcel 	= CreateObject("Excel.Application") 
07.
Set oWorkbook 	= oExcel.Workbooks.Add() 
08.
Set oSheet	= oWorkbook.Sheets(1) 
09.
 
10.
oSheet.activate 
11.
oExcel.Visible = True 
12.
 
13.
'etwas Input für die Tabelle 
14.
oSheet.Cells(1, 1).Value = "AAAC" 
15.
oSheet.Cells(2, 1).Value = "BBB" 
16.
oSheet.Cells(3, 1).Value = "AAA" 
17.
oSheet.Cells(4, 1).Value = "DDD" 
18.
 
19.
'Array mit Suchwerten, die in der Tabelle gesucht werden: 
20.
arWerte = Array("YYY","AAA") 
21.
 
22.
'In der Schleife ein Aufruf der Suchfunktion für jeden Wert im Array 
23.
FOR inti = 0 To UBound(arWerte) 
24.
	fWertSuchen(arWerte(inti)) 
25.
NEXT 
26.
 
27.
Function fWertSuchen(strWert) 
28.
'On Error Resume Next 
29.
Err.Clear 
30.
 
31.
Dim oWertGefunden 
32.
 
33.
CONST xlUp 		= -4162 
34.
CONST xlValues 		= -4163 
35.
CONST xlWhole 		= 1 
36.
CONST xlByRows  	= 1 
37.
CONST xlByColumns 	= 2 
38.
 
39.
'Diese Zeile funktioniert einwandfrei, erlaubt aber keine genaue Suche nach Werten: 
40.
'Set oWertGefunden = oSheet.Columns(1).Find(strWert) 
41.
 
42.
'Diese Zeile bringt folgenden Fehler: Kompilierungsfehler in Microsoft VBScript: ')' erwartet 
43.
Set oWertGefunden = oSheet.Columns(1).Find(strWert,lookin:=xlValues,LookAt:=xlWhole) 
44.
 
45.
IF oWertGefunden Is Nothing Then 
46.
	fWertSuchen = FALSE 
47.
	wscript.echo "       - " & strWert 
48.
ELSE 
49.
	fWertSuchen = TRUE 
50.
	wscript.echo "+ " & strWert 
51.
END IF 
52.
 
53.
End Function
Ich hoffe, dass einer von Euch den Fehler identifizieren kann, weil ich wahrscheinlich schon irgendwie Betriebsblind bin...

Merci.

Gruß,
autogen
Mitglied: bastla
22.05.2013, aktualisiert um 23:10 Uhr
Hallo autogen und willkommen im Forum!

VBS mag die benannten VBA-Argumente nicht, daher eher so:
Set oWertGefunden = oSheet.Columns(1).Find(strWert, , xlValues, xlWhole)
Grüße
bastla
Bitte warten ..
Mitglied: autogen
23.05.2013 um 07:42 Uhr
Hallo bastla,

vielen Dank für die Begrüßung und den Stubs auf den Hinterkopf.
Ohne der benannten VBA-Argumente funktioniert das Script natürlich fehlerfrei.

Gruß,
autogen
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (2)

Frage von Raptox zum Thema VB for Applications ...

Microsoft Office
Excel Zählewenn aus Formel Wert (2)

Frage von cberndt zum Thema Microsoft Office ...

Basic
VBScript erweitern für Subfolder (8)

Frage von 132078 zum Thema Basic ...

Microsoft Office
PIVOT-CHART IN EXCEL 2010

Frage von MiSt zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (16)

Frage von Angela44 zum Thema DSL, VDSL ...

Windows Server
SBS 2011 Standard virtualisieren (12)

Frage von HeinrichM zum Thema Windows Server ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Backup
Datensicherung ARCHIV (11)

Frage von fautec56 zum Thema Backup ...