einen Teilerfolg konnte ich erzielen. Das Makro läuft, macht aber immer noch ganz das, was es soll.
Es geht um Zahlen der Form 7.5683000000E+01. Beim Überführen in Excel, sollte der Punkt durch ein Komma ersetzt werden, weil sonst bei der Überführung 7,5683E+11 draus wird, also etlich Nullen zuviel eingefügt werden. Mein unteres Makro ersetzt nun den Punkt durch ein Komma, trotzdem ist die Zahl in Ecxel immer noch die Falsche (7,5683E+11). Dies ist mir eigentlich unerklärlich ???
Gruß
Dari
Sub CreateXlsFile()
Dim XlsFile As Variant
Dim TptFile As Variant
Dim XlsName As String
Dim HFile As Integer, Text As String, feld() As String, zaehler As Long, index As Long
--------------------------------------------------
'Öffnen der Messdatei und Speichern als Exceldatei
TptFile = Application.GetOpenFilename("Messdateien (*.s01),*.s01,")
XlsName = Left(TptFile, Len(TptFile) - 4) + ".xls"
If TptFile = False Then Exit Sub
--------------------------------------------------
'Ersetzen des Punktes durch Komma
HFile = FreeFile
Open TptFile For Input As #HFile
Do Until EOF(HFile)
zaehler = zaehler + 1
ReDim Preserve feld(1 To zaehler)
Line Input #HFile, Text
feld(zaehler) = Application.Substitute(Text, ".", ",")
Loop
Close #HFile
HFile = FreeFile
Open TptFile For Output As #HFile
For index = 1 To UBound(feld)
Print #HFile, feld(index)
Next
Close #HFile
---------------------------------------------
'Überführen der Textdateidaten
Application.Workbooks.OpenText FileName:=TptFile, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 1))
With Columns("B:B").Select
.NumberFormat = "0.00E+00"
.NumberFormat = "0.00"
End With
Range("C1").Select
XlsFile = Application.GetSaveAsFilename(XlsName, "Exceldateien (*.xls),*.xls,")
ActiveWorkbook.SaveAs XlsFile, xlWorkbookNormal
End Sub