Hallo Basti,
zunächst ist da ein Unterschied zwischen dem, was der dein Code macht und dem, was passiert, wenn du das händisch machst. Ich weiß auch nicht wie du das händisch machst (habe gerade mindestens drei Ideen wie dein Vorgehen sein könnte ...)
Dein Code liest ja die Textdatei Zeile für Zeile ein und trägt jede Zeile einzeln in das Tabellenblatt. Du könntest also mehrfach aufeinanderfolgende Trennzeichen durch ein einzelnes Trennzeichen ersetzen bevor du in das Tabellenblatt einträgst (wieder ungetestet):
Sub Import_kurz()
Dim SourcePath As String
Dim FFnr As Integer
Dim TxtZeile As String
Dim AnzSp As Integer, i As Long
Const sep As String = vbTab 'Trennzeichen
SourcePath = "Speicherort" & Format(Date, "ddmmyyyy") & ".txt"
FFnr = FreeFile
Open SourcePath For Input As #FFnr
i = 1
Do While Not EOF(FFnr)
Line Input #FFnr, TxtZeile
Do While InStr(TxtZeile, sep & sep) > 0 'mehrfach hintereinanderliegende SEP entfernen
TxtZeile = Replace(TxtZeile, sep & sep, sep)
Loop
AnzSp = UBound(Split(TxtZeile, sep)) + 1
Range(Cells(i, 1), Cells(i, AnzSp)) = Split(TxtZeile, sep)
i = i + 1
Loop
Close #FFnr
End Sub
klappt's?
Grüße, Ulrich
|