Hallo, Zusammen,
beiße mir an einem Problem gerade die Zähne aus. Habe eine Textdatei mit folgenden wissenschaftlichen Zahlen:
7,5122000000E+01
7,3135000000E+01
usw.
Mein Makro:
Sub CreateXlsFile()
Dim XlsFile As Variant
Dim TptFile As Variant
Dim XlsName As String
'Ö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
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))
Columns("B:B").Select
Selection.NumberFormat = "0.00E+00"
Selection.NumberFormat = "0.00"
Range("C1").Select
XlsFile = Application.GetSaveAsFilename(XlsName, "Exceldateien (*.xls),*.xls,")
ActiveWorkbook.SaveAs XlsFile, xlWorkbookNormal
Sheets(1).Select
Sheets(1).Name = "Rohdaten"
End Sub
überführt die Werte von der Textdatei in Excel und dann in die normale Zahlenform:
75,12
73,13
usw.
Nun gibt es aber auch Messdateien, bei denen die Ursprungsmessdateien statt dem Komma ein Punkt haben, also:
7.5122000000E+01
7.3135000000E+01
und plötzlich bricht das Chaos aus, da er schon bei der Umwandlung aus obigen Zahlen
7,5122000000E+11
7,3135000000E+11
macht, d.h. die Daten kommen schon falsch rüber.
Will jetzt ein Makro machen, das dieses Problem löst.
Habe folgendes Makro mal gefunden:
Function CommaToPoint(Comma As Variant) As String
Dim i As Integer
For i = 1 To Len(Comma)
If Mid(Comma, i, 1) = "," Then
CommaToPoint = CommaToPoint & "."
Else
CommaToPoint = CommaToPoint & Mid(Comma, i, 1)
End If
Next i
End Function
habe aber keinen Plan, wie ich das einbauen soll.
Weiß jemand Rat.
Gruß und Dank
Dari