Zwei Variablen in eine Exelzelle mittels VBS

gingele

Level-1
Beiträge
227
Reaktionspunkte
42
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

mal ne Frage. Kann ich in einem VBScript zwei Variablen in denen Zahlen Stehen in EINE Exelzelle schreiben und dazwischen ein Zeichen.

mein Bsp:

Excel.Cells(zeile, spalte).Value = var1 "/" var2

aber so funktionierts nicht. Hab Versucht ne Variable zu basteln die das beinhaltet und dann zu setzen, quasi als String, hat aber auch nicht funktioniert.
 
Hallo,
wie wäre es denn vielleicht so :
Code:
Excel.Cells(zeile, spalte).Value = cstr(var1) + "/" + cstr(var2)
... wobei ich jetzt mal unterstelle, dass du die Zuweisung für das Element "Excel" korrekt entsprechend des Beitrags in der FAQ zu dem Thema gemacht hast ...

Gruß
LL
 
Hallo Larry, also also bei der Version cstr(var1) + "/" + cstr(var2) kommt bei mir in der Zeile auf einmal ein Datum???
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Auch bei der Version var1 & "/" & var2 (habe ich gerade im FAQ gesehen ;) pylades). Es handelt sich immer um den 5.April da var1 4 ist und var2 5. Wenn ich var2 verdopple erhalte ich den 10 April.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist etwas schwierig, da es mehrer Files sind, die zum CAD Programm E3 gehören. Ich bau da nur was um, um eine andere Exeldarstellung erzeugen zu können. Aber es dreht sich nur um den Befehl

Excel.Cells(zeile, spalte).Value = var1 & "/" & var2
 
Es funktioniert, vielen danke euch allen für die Hilfe.

Joe was mache ich jetzt mit dem Befehl genau, die Formatierung so ändern das er jedes Zeichen extra zulässt?
 
Code:
On Error resume next
 
Dim appExcel , fs , wbExcel , wsExcel
Dim Verzeichnis , Datei
Dim Zeile
'------------------------------------------------------------------------------
' Variablen-Zuweisungen ...
Verzeichnis = "c:\daten\"
Datei = "test.xls"
'------------------------------------------------------------------------------
' Pointer auf Tabelle laden
Set appExcel = CreateObject ("EXCEL.Application")
Set fs = CreateObject ("Scripting.FileSystemObject")
'------------------------------------------------------------------------------
' Objekte erzeugen
' prüfe ob datei existiert. wenn nicht erzeugen.
If Not fs.FileExists (Verzeichnis + Datei) Then
    appExcel.Workbooks.Add
    appExcel.ActiveWorkbook.SaveAs(Verzeichnis + Datei)
End If
 
Set wbExcel = appExcel.Workbooks.Open (Verzeichnis + Datei)
Set wsExcel = wbExcel.Worksheets("Tabelle1")
  
 
' Zelle beschreiben
wsExcel.Cells (1 , 1) = CStr(var1) + "/" + CStr(var2)
 
' Tabelle abspeichern
wbExcel.Close True 'false
appExcel.Quit ()
 
'------------------------------------------------------------------------------
' verwendeten Speicher wieder freigeben
Set wsExcel = Nothing
Set wbExcel = Nothing
Set fs = Nothing
Set appExcel = Nothing
Set Verzeichnis = Nothing
Set Datei = Nothing
var1 auf 4 und var2 auf 5 gesetzt
Zelle als Text formatiert
Nach ausführen des Scripts steht 4/5 in der Zelle A1

Pylades
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dein Problem ist ja, dass Excel die beiden durch einen Slash getrennten Zahlen als Datum erkennt (Amerikanische schreibweise von Datum).
Wenn du jetzt erst hergehst und die Zelle umformatierst auf TEXT (mit dem @)...
Code:
Excel.Cells(x, y).NumberFormat = "@"
... dann macht er kein Datum mehr draus. Dann kannst du da alles reinschreiben.
Code:
Excel.Cells(x, y) = var1 & "/" & var2
 
Man kann im Excel eine Zelle als Text formatieren indem man ein Hochkomma voranstellt, dies wird von Excel in der Tabellenansicht auch nicht angezeigt. Demzufolge könnte das hier auch funktionieren (nicht getestet!):
Code:
Excel.Cells(zeile, spalte).Value = "'" + cstr(var1) + "/" + cstr(var2)
 
Zurück
Oben