Hallo,
versuche aus einer Excel-Datei einen String auszulesen, der leider immer als Zahl interpretiert wird.
Code:
Sub auslesen()
Workbooks.Open Filename:="C:\...\test.xls"
Debug.Print Format(ActiveWorkbook.Worksheets(1).Cells(1, 1).Value, "&")
Debug.Print CStr(ActiveWorkbook.Worksheets(1).Cells(1, 1).Value)
Debug.Print ActiveWorkbook.Worksheets(1).Cells(1, 1).Value
ActiveWorkbook.Close savechanges:=False
End Sub
Die Excel-Datei ist leider keine richtige Excel-Datei, sondern eine Textdatei mit der "falschen" Dateiendung .xls in der der "String" 010.020 steht.
Als Debug Ausgabe des obigen Codes erhalte ich immer: 10,02
Wenn ein Buchstabe in dem String enthalten ist, besteht kein Problem und der komplette String bleibt unberührt.
Wie kann ich Excel dazu zwingen die eingelesenen Daten als unberührten String zu behandeln?
Tritt das Problem schon beim Befehl Workbooks.Open auf? Gibt es Alternativen oder weitere Parameter?
Ich habe das Problem abstrahiert. Der Original-Algorithmus behandelt eine vielzahl dieser "unechten" Excel-Dateien mit vielen Zeilen und Spalten, wobei die Spalten mit einem Tabstopp getrennt sind.
Eine Modifizierung dieser Dateien sollte daher nur als letztes Mittel in Betracht gezogen werden.
Versucht habe ich trotzdem, die Dateien in Excel unter einem richtigen Excel-Dateiformat abzuspeichern.
Wenn die Datei manuel geladen und gespeichert wird klappt dies auch. Bei der automatisierten Variante wandeln auch dort Excel wieder den String in eine Zahl um.
Bin für jede Hilfe dankbar!
Lieben Gruß
|