otti1977
Goto Top

VBScript in Excel schreiben, was mach ich falsch?

Hi zusammen,

eigentlich ist es einfach, ich möchte ein Excel-File erstellen und dann mit Werten füllen.

Das funktioniert eigentlich ganz gut, bis ich in eine Zelle eine Formel (SVerweis) einfügen will.

hier mal ein Auszug aus dem Quelltext:

dim i,j,objXL,linecount,mystring

Set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True
objXL.WorkBooks.Add
objXL.Cells(1, 1).Value = "PC-Name"
objXL.Cells(1, 2).Value = "App-Path"
objXL.Cells(1, 3).Value = "User"
objXL.Cells(1, 4).Value = "TelNr"
objXl.Cells(1, 5).Value = "Bemerkung"
objXL.Rows("1:1").Select
objXL.Selection.Font.Bold = True
linecount = 2
'warnschwellwert = 1
'For j=0 to ubound(myarr)

'mystring = =SVERWEIS($A2;'H:\My Documents\Dokumente\Excel\INVENTAR\[chlicket-20110801-mit_Typübersicht.xls]Tabelle1'!$B$2:$H$306;6)
mystring = "=SVERWEIS($A2;" & chr(34) & "H:\My Documents\Dokumente\Excel\INVENTAR\[chlicket-20110801-mit_Typübersicht.xls]:Tabelle1" & chr(34) & "!$B$2:$H$306;6)"
msgbox mystring 'das geht ja noch
objXL.Cells(linecount, 3).Formula = mystring

In der letzten genannten Zeile flippt er dann aus und erzählt mir was von "unbekannter Laufzeitfehler", Code 800A03EC, "Laufzeitfehler in Microsoft VBScript"

Evtl. ist ja einer von Euch fitter als ich und kann mir nen Hinweis geben, wo es denn hapert¿

Danke und

Gruß aus Oberfranken

otti

Content-ID: 170894

Url: https://administrator.de/forum/vbscript-in-excel-schreiben-was-mach-ich-falsch-170894.html

Ausgedruckt am: 24.12.2024 um 02:12 Uhr

steini84
steini84 03.08.2011 um 18:57:01 Uhr
Goto Top
Hallo,

habe dein Script gerade durchgespeilt.

Als erstes musst du FormulaLocal anstatt Formula benutzen, da SVerweis nur in einem deutschen Excel gültig ist.
Als zweites kannst du nicht Chr(34), also Gänsefüsschen, benutzen sondern musst das Hochkomma (') nehmen,
Anschließend funktioniert es bei mir ohne Anwendungsfehler.

mystring = "=SVERWEIS($A2;'H:\My Documents\Dokumente\Excel\INVENTAR\[chlicket-20110801-mit_Typübersicht.xls]Tabelle1'!$B$2:$H$306;6)"  
MsgBox mystring
objXL.Cells(linecount, 3).FormulaLocal = mystring

MfG steini84
otti1977
otti1977 03.08.2011 um 19:43:27 Uhr
Goto Top
Hi Steini,

FormulaLocal kannte ich nocht nicht, kennst Du evtl n gutes Handbuch (online), dann kann ich mir dumme Fragen in Zukunft sparen. Hab mir den Quelltext aus dem Netz zusammengeklaubt, bis ich was hatte was (halbwegs) passt face-wink

Danke Dir vielmals und

Gruß aus Oberfranken

otti
steini84
steini84 04.08.2011 um 12:35:25 Uhr
Goto Top
Hi,

einige Sachen habe ich mir bei Herber.de angelesen.

Ansonsten google ich nach einem spez. Problem, wenn ich nicht weiter komme.

MfG Steini84
otti1977
otti1977 04.08.2011 um 13:24:40 Uhr
Goto Top
Hi Steini,

danke für den Tip. Werd ich mir mal bookmarken.

mfg

otti