Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2184 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
C und C++
gelöst Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Windows 7
gelöst VBScript - HTML Probleme mit Schriftgröße (5)

Frage von MedicalAd zum Thema Windows 7 ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (12)

Frage von kartoffelesser zum Thema LAN, WAN, Wireless ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (11)

Frage von Spitzbube zum Thema Netzwerke ...

Voice over IP
SNOM D765 an LancomR883VAW (10)

Frage von MS6800 zum Thema Voice over IP ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...