Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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
Inhaltsverzeichnis

Makro schreibt Kommas im String als Punkte

Makro schreibt Kommas im String als Punkte
25.09.2013 15:04:30
Praktikant
Hallo zusammen,
ich habe einige tausend Daten in txt-Dateien vorliegen und möchte diese in Excel importieren. Dazu habe ich den untenstehenden Code geschrieben. Die Exel mit Makro, sowie ein dazugehöriges txt-File zum einlesen findet ihr ganz unten.
Leider schreibt das Makro manche Werte nicht mit Komma in das Arbeitsblatt. Das Komma wird einfach ignoriert. Und zwar handelt es sich genau um die Werte, die drei Stellen nach dem Komma haben, nicht mit 0 beginnen und positiv sind.
Ich hab auch schon verschiedene Ausgabefenster eingebaut, um sTxt zu überprüfen. sTxt hat dabei immer das Format wie in der txt-Datei. Also mit Komma.
Ich lasse jetzt einfach im txt. vor dem Schreiben alle Kommas durch Punkte ersetzen, aber mich würde der Grund des Fehlers trotzdem interessieren.
In meinem Windows und Excel ist übrigen eingestellt:
Dezimaltrennzeichen: ,
Tausendertrennzeichen: .
Vielen Dank schon mal im Vorraus!
Mfg,
Praktikant

Sub Daten_einlesen()
Worksheets("Daten").Select
Dim iRow As Integer, iCol As Integer
Dim sFile As String, sTxt As String, Path As String
MsgBox "Lese Datein ein aus: " & ActiveWorkbook.Path
' "Brenndaur Zyl1-4.txt" einlesen
sFile = ActiveWorkbook.Path & "\Brenndauer Zyl1-4.txt"
If Dir(sFile) = "" Then
Beep
MsgBox "''Brenndauer Zyl1-4.txt'' wurde nicht gefunden!"
Exit Sub
End If
iRow = 1
iCol = 2
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
'MsgBox "Bereich 1: " & sTxt
Do While InStr(sTxt, vbTab)
Cells(iRow, iCol).Value = Left(sTxt, InStr(sTxt, vbTab) - 1)
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, vbTab))
iCol = iCol + 1
Loop
Cells(iRow, iCol).Value = sTxt
iRow = iRow + 1
iCol = 2
'If iRow = 20 Then
'         Exit Sub
'End If
Loop
Close
End Sub

Excel-Datei mit Makro
https://www.herber.de/bbs/user/87409.xlsm
Einzulesende txt-Datei
https://www.herber.de/bbs/user/87411.txt

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro schreibt Kommas im String als Punkte
25.09.2013 15:56:24
Rudi
Hallo,
mal so:
  Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt      arrTmp = Split(sTxt, vbTab)
Cells(iRow, 2).Resize(, UBound(arrTmp) + 1) = arrTmp
iRow = iRow + 1
Loop
Close

Gruß
Rudi
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige