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, 2014 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
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (4)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

Microsoft Office
Prüfung von Intervallen und Textausgabe in Excel (2)

Frage von traller zum Thema Microsoft Office ...

Microsoft Office
Darstellung einer Produktionsmenge in einer Excel Übersicht! (4)

Frage von Magnus32x1 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...