Betrifft: Daten import aus txt--Datei
von: Rico
Betrifft: AW: Daten import aus txt--Datei
von: 1713886.html
Geschrieben am: 19.09.2019 13:48:14
Hallo Rico,
versuche einmal ob das Sheet das macht.
Hinweis im Sheet beachten.
https://www.herber.de/bbs/user/132114.xlsm
Gruß Armin
Betrifft: AW: Daten import aus txt--Datei
von: 1713907.html
Sub Inport_Txt_Datei()
Dim wks As Worksheet
Dim varTxt
Dim bolName As Boolean
Dim strTemp As String, varSplit
Dim lngSpa As Long, lngZeile As Long
Dim iKanal As Integer
'Textdatei auswählen
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Textdatei auswählen, die importiert werden soll"
.FilterIndex = 6 'Textdateien
.AllowMultiSelect = False
If .Show = -1 Then
varTxt = .SelectedItems(1)
Else
Exit Sub
End If
End With
'Neues Blatt anlegen
ActiveWorkbook.Worksheets.Add Before:=ActiveWorkbook.Sheets(1)
Set wks = ActiveSheet
Application.ScreenUpdating = False
'Kanal für Textdatei öffnen
iKanal = FreeFile()
Open varTxt For Input As #iKanal
lngSpa = 0
With wks
'Textdaten Zeilenweise einlesen
Do Until EOF(1)
Input #1, strTemp
If InStr(1, strTemp, "#") > 0 Then
'Nächste Spalte und Startzeile setzen
If lngSpa = 0 Then lngSpa = 1 Else lngSpa = lngSpa + 2
lngZeile = 1
bolName = True 'auf Zeile mit "#" folgt Zeile mit Name
ElseIf Trim(strTemp) = "End" Or Trim(strTemp) = "" Then
'do nothing - Zeilen überspringen
Else
If bolName = True Then
'Name in beiden Spalten der 1. Zeile eintragen
.Cells(lngZeile, lngSpa).Value = strTemp
.Cells(lngZeile, lngSpa + 1).Value = strTemp
bolName = False
Else
'Text in Zeilen ohne Name aufbereiten
strTemp = Trim(strTemp) 'Leerzeichen am Anfang/Ende entfernen
strTemp = Replace(strTemp, " ", " ") 'Doppelte Leerzeichen durch einfaches _
ersetzen
varSplit = Split(strTemp, " ") 'Text am Leerzeichen auftrennen
lngZeile = lngZeile + 1
If UBound(varSplit) > 0 Then
.Cells(lngZeile, lngSpa).Value = varSplit(0) '1. Zahl eintragen
.Cells(lngZeile, lngSpa + 1).Value = CDbl(Replace(varSplit(1), ".", ",")) ' _
2. Dezimalzahl eintragen
Else
.Cells(lngZeile, lngSpa).Value = varSplit(0)
End If
End If
End If
Loop
End With
'Kanal für Textdatei schliessen
Close iKanal
Application.ScreenUpdating = True
End Sub
Betrifft: AW: Daten import aus txt--Datei
von: 1713948.html
Geschrieben am: 19.09.2019 17:36:56
Hallo Franz,
getestet und bin begeistert, dein VBA Code funktioniert einwandfrei. Vielen Dank für Deine Hilfe!
Grüße Rico
Betrifft: AW: Daten import aus txt--Datei
von: 1713947.html
Geschrieben am: 19.09.2019 17:36:13
Hallo Armin,
getestet und bin begeistert, dein Makro funktioniert einwandfrei. Vielen Dank für Deine Hilfe!
Grüße Rico