Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Punktproblem

Punktproblem
26.05.2003 12:54:42
Dari

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


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Punktproblem
26.05.2003 13:01:45
Nike

Hi,
bei der openText Methode gibt es noch die Option
"DecimalSeparator"
Dort kannst du diesen Punkt auch einstellen...
Einfach mal die Hilfe (F1) auf OpenText setzen und schlau machen.

Bye

Nike

P.S. aus dem hier
Columns("B:B").Select
Selection.NumberFormat = "0.00E+00"
Selection.NumberFormat = "0.00"
Range("C1").Select
kannst du auch das hier machen:

with Columns("B:B")
.NumberFormat = "0.00E+00"
.NumberFormat = "0.00"
end with
Range("C1").Select


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige