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-Key: 170894

Url: https://administrator.de/contentid/170894

Printed on: April 23, 2024 at 19:04 o'clock

Member: steini84
steini84 Aug 03, 2011 at 16:57:01 (UTC)
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
Member: otti1977
otti1977 Aug 03, 2011 at 17:43:27 (UTC)
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
Member: steini84
steini84 Aug 04, 2011 at 10:35:25 (UTC)
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
Member: otti1977
otti1977 Aug 04, 2011 at 11:24:40 (UTC)
Goto Top
Hi Steini,

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

mfg

otti