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, 2127 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel 2010 Makro Ausgabe in bestimmter Tabelle ausgeben (6)

Frage von dressa zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel Datei automatisch , jede Woche , an bestimmten Drucker ausdrucken. (7)

Frage von tomigun zum Thema Microsoft Office ...

Microsoft Office
Excel (2016): Enthaltenen Text suchen (2)

Frage von ralfkausk zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...