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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
4 Kommentare
Neuester Kommentar
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.
MfG steini84
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
Hi,
einige Sachen habe ich mir bei Herber.de angelesen.
Ansonsten google ich nach einem spez. Problem, wenn ich nicht weiter komme.
MfG Steini84
einige Sachen habe ich mir bei Herber.de angelesen.
Ansonsten google ich nach einem spez. Problem, wenn ich nicht weiter komme.
MfG Steini84