Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
268to272
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
268to272
268to272
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Punkt Komma Problem

Punkt Komma Problem
18.06.2003 10:52:19
Dari
Hallo, Zusammen,

Folgendes Problem. Habe eine Textdatei mit
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

überführt die Werte in Excel und in die normale Zahlenform:
75,12
73,13
usw.

Nun habe ich aber auch Dateien, bei denen di 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.

Mit den bisherigen Ratschlägen konnte ich wenig anfangen. Ein Tipp war, mach doch vorher ein Umwandlungs-Makro. Mir ist nicht ganz klar, wie das gehen soll, da doch eben bei der Umwandlung von der Textdatei zur Exceldatei das Problem auftritt, dass aus 7.5122000000E+01 plötzlich 7,5122000000E+11 wird. D.h. ich müsste dann die Textdatei von Hand umwandeln (Punkt suchen >>> ersetzen, usw.). Das kann doch wohl nicht die Lösung sein, oder ???

Gruß
Dari


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Punkt Komma Problem
18.06.2003 10:54:31
Nike
Hi,
ein weiterer beliebter Tip ist vor solchen Aktionen die Ländereinstellung auf Englisch/Amerikanisch von Deutsch umzustellen, danach dann wieder auf deutsch...

Bye

Nike

Re: Punkt Komma Problem
18.06.2003 11:10:50
Dari
Hallo, Nike,

wie geht das mit der Länderumstellung, wo kann man das verändern ???

Gruß
Dari

Re: Punkt Komma Problem
18.06.2003 11:12:27
Nike
Hi,

Bei mir auf Win2000 hier:
Start/Einstellungen/Systemsteuerung/Ländereinstellungen

Bye

Nike

Re: Punkt Komma Problem
18.06.2003 11:17:07
Dari
Hallo, Nike,

das ist keine Lösung, die Umwandlung soll später auf verschiedenen PC`s laufen, ich kann von den Leuten nicht erwarten, dass sie jedesmal vorher diese Prozedur durchführen, oder kann man das irgendwie automatisieren ?

Gruß
Dari

Anzeige
Re: Punkt Komma Problem
18.06.2003 12:37:11
xxx
Hallo,
du kannst doch beim Import der txt die Umwandlung in Zahlen verhindern indem du die Spalte als Text übernimmst(FieldInfo; Aktion aufzeichnen). Danach kannst du den Punkt per VBA durch Komma ersetzen und in eine Zahl umwandeln.

Gruß aus'm Pott
Udo

Re: Punkt Komma Problem
18.06.2003 13:36:20
Nepumuk
Hallo Dari,
vesuch mal das in dein Programm zu integrieren:

Option Explicit
Public Sub test()
Dim HFile As Integer, Text As String, feld() As String, zaehler As Long, index As Long
HFile = FreeFile
Open "C:\Dokumente und Einstellungen\Administrator\Desktop\Text.txt" For Input As #HFile
Do Until EOF(HFile)
zaehler = zaehler + 1
ReDim Preserve feld(1 To zaehler)
Line Input #HFile, Text
feld(zaehler) = Replace(Text, ".", ",", 1, 1, 1)
Loop
Close #HFile
HFile = FreeFile
Open "C:\Dokumente und Einstellungen\Administrator\Desktop\Text.txt" For Output As #HFile
For index = 1 To UBound(feld)
Print #HFile, feld(index)
Next
Close #HFile
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige