Hallo zusammen,
ich programmiere in Visual Basic, nicht in VBA und hoffe, das Forum passt trotzdem
Nun stehe ich vor einem Problem, das ich nach langer Recherche und ausprobieren immer noch nicht lösen kann:
ich schreibe zunächst (sehr viele) Werte aus .txt Dateien in Object Variablen und verrechne sie miteinander. Dann trage ich sie in eine Excel Tabelle ein.
Jedoch werden alle als Kommazahl darstellbaren Zahlen als Text eingetragen. Zahlen mit Exponenten werden korrekt als Zahl eingetragen. Mein Code zum Eintragen sieht exemplarisch so aus:
oBook.Worksheets("Werte Serie").range("A4:A2004").value = Spannung(0)
Spannung() ist ein Array aus Objekten. Kann ich hier schon erreichen, dass statt dem Text eine Zahl eingetragen wird?
Um die Zellen umzuwandeln habe ich folgendes versucht:
'Zellen formatieren
oBook.Worksheets("Werte Serie").Cells.numberFormat = "General"
oBook.Worksheets("Werte Serie").Cells.numberFormat = "0,000000E+00"
For x = 4 To 2000
For y = 1 To 50
z = IsNumeric(oBook.Worksheets("Werte Serie").Cells(x, y).value)
If z = False Then
If oBook.Worksheets("Werte Serie").Cells(x, y).value <> "" Then
oBook.Worksheets("Werte Serie").Cells(x, y).value = CDbl(oBook.Worksheets("Werte Serie").Cells(x, y).value)
End If
End If
Next
Next
Bei einer einzelnen Zelle klappt es auch, bei 2000x50 dauert das aber viel zu lange (Minuten), und ich muss das mit vielen Excel Dateien machen. Daher meine Frage:
Gibt es einen eleganteren/resourcenschonenderen Weg die Zahlen als Zahlen einzutragen oder die Zellen umzuwandeln? Ich möchte eigentlich alle Zahlen wissenschaftlich mit 6 Dezimalzeichen darstellen.
Ich hoffe jemand weiß da Bescheid und ist so freundlich mir zu helfen
Viele Grüße,
Simon
ich programmiere in Visual Basic, nicht in VBA und hoffe, das Forum passt trotzdem
Nun stehe ich vor einem Problem, das ich nach langer Recherche und ausprobieren immer noch nicht lösen kann:
ich schreibe zunächst (sehr viele) Werte aus .txt Dateien in Object Variablen und verrechne sie miteinander. Dann trage ich sie in eine Excel Tabelle ein.
Jedoch werden alle als Kommazahl darstellbaren Zahlen als Text eingetragen. Zahlen mit Exponenten werden korrekt als Zahl eingetragen. Mein Code zum Eintragen sieht exemplarisch so aus:
oBook.Worksheets("Werte Serie").range("A4:A2004").value = Spannung(0)
Spannung() ist ein Array aus Objekten. Kann ich hier schon erreichen, dass statt dem Text eine Zahl eingetragen wird?
Um die Zellen umzuwandeln habe ich folgendes versucht:
'Zellen formatieren
oBook.Worksheets("Werte Serie").Cells.numberFormat = "General"
oBook.Worksheets("Werte Serie").Cells.numberFormat = "0,000000E+00"
For x = 4 To 2000
For y = 1 To 50
z = IsNumeric(oBook.Worksheets("Werte Serie").Cells(x, y).value)
If z = False Then
If oBook.Worksheets("Werte Serie").Cells(x, y).value <> "" Then
oBook.Worksheets("Werte Serie").Cells(x, y).value = CDbl(oBook.Worksheets("Werte Serie").Cells(x, y).value)
End If
End If
Next
Next
Bei einer einzelnen Zelle klappt es auch, bei 2000x50 dauert das aber viel zu lange (Minuten), und ich muss das mit vielen Excel Dateien machen. Daher meine Frage:
Gibt es einen eleganteren/resourcenschonenderen Weg die Zahlen als Zahlen einzutragen oder die Zellen umzuwandeln? Ich möchte eigentlich alle Zahlen wissenschaftlich mit 6 Dezimalzeichen darstellen.
Ich hoffe jemand weiß da Bescheid und ist so freundlich mir zu helfen
Viele Grüße,
Simon