Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
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

TXT Import mit Semikolon

TXT Import mit Semikolon
03.04.2018 11:11:51
Malte
Hallo Forum!
Ich habe folgendes Problem:
Ich bekomme von meinem Buchführer die Buchführungsdaten als .txt-Datei.
Die einzelnen Werte sind wie folgt mit Semikolon getrennt:
#Datum;#Buchungstext;#Konto;#Gegenkonto;#BetragSOLL;#BetragHaben
An sich also relativ simpel umzusetzen.
Mein Problem ist aber, dass der Buchführer bei manchen Buchungssätzen die Menge mit Semikolon abtrennt. Also z.B.:
Streusalz; 25 kg
Dieses zusätzliche Semikolon soll aber beim Iport nicht mit berücksichtigt werden und als Text ausgegeben werden.
Frage: Gibt es die Möglichkeit pro Datenreihe in der .txt Datei die Semikolon zu zählen?
Wenn 5 Semikolon - nichts unternehmen
Wenn 6 Semikolon - Semikolon 2 als Text behandeln
Ich wäre sehr dankbar wenn ihr eine Idee habt wie soetwas umzusetzen ist.
Gruß Malte

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TXT Import mit Semikolon
03.04.2018 11:53:04
Oberschlumpf
Hi Malte,
im einfachsten Fall vielleicht so:
Sub sbImport()
Dim lstrImp as String, liLen As Integer, liSem As Integer
Open "Pfad\Datei.txt" For Input As #1
Do Until Eof(1)
Line Input #1, lstrImp
For liLen = 1 to Len(lstrImp)
If Mid(lstrImp, liLen, 1) = ";" Then
liSem = liSem + 1
End If
Next
If liSem = 5 Then
'hier dein Import-Code bei 5 Semikola
Else
'hier dein Import-Code bei 6 Semikola
End If
Loop
Close
End Sub
Hilfts? Wenn nicht, zeig uns bitte Bsp-Dateien mit Bsp-Daten.
Ciao
Thorsten
AW: TXT Import mit Semikolon
03.04.2018 12:03:20
Malte
Hallo Thorsten,
vielen Dank für die Antwort! Der Code bei 5 Semikolon sieht wie folgt aus:

Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 1)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) = Application.Transpose(Application. _
Transpose(arrTmp))
End With
End If
Next lngR

Wie bekomme ich das abgeändert, sodass das zweite Semikolon nicht als Trennzeichen gesehen wird wenn 6 Semikolon in einer Reihe stehen?
Gruß
Malte
Anzeige
AW: TXT Import mit Semikolon
03.04.2018 12:06:35
Oberschlumpf
Hi Malte,
wie schon in meinem letzten Beitrag erwähnt:
Wenn weitere Hilfe benötigt wird, würde ich mich über eine Bsp-Datei freuen, an der man deinen Code anwenden kann.
Ciao
Thorsten
AW: TXT Import mit Semikolon
03.04.2018 12:59:15
ChrisL
Hi
Eine Beispieldatei wäre tatsächlich hilfreich.
Sub t()
Dim varFile As Variant, lngZeile As Long, strTextzeile As String, i As Integer
varFile = Application.GetOpenFilename("CSV-Dateien (*.csv), *.csv")
If varFile = False Then Exit Sub
Open varFile For Input As #1
Do While Not EOF(1) = True
lngZeile = lngZeile + 1
Line Input #1, strTextzeile
Cells(lngZeile, 1) = Left(strTextzeile, InStr(1, strTextzeile, ";") - 1)
strTextzeile = Right(strTextzeile, Len(strTextzeile) - InStr(1, strTextzeile, ";"))
For i = 6 To 3 Step -1
Cells(lngZeile, i) = Right(strTextzeile, Len(strTextzeile) - InStrRev(strTextzeile, ";"))
strTextzeile = Left(strTextzeile, InStrRev(strTextzeile, ";") - 1)
Next i
Cells(lngZeile, 2) = strTextzeile
Loop
Close #1
End Sub
cu
Chris
Anzeige
AW: TXT Import mit Semikolon
03.04.2018 13:41:11
ChrisL
Hi
Der Code von vorher sollte eigentlich funktionieren.
Wenn ich mir die Importdaten ansehe, hast du ein Problem mit Sonderzeichen. Vielleicht sollte man bei den Rohdaten ansetzen und dabei gleich das Trennzeichen anpassen.
cu
Chris
Anzeige
AW: TXT Import mit Semikolon
03.04.2018 13:47:13
Malte
Hi Chris!
Vielen Dank für die Antwort!
Auf die Rohdaten habe ich leider keinen Einfluss, da der Buchführer sie mir nur so zur Verfügung stellen kann. Wie sieht denn der Code in fertiger (zusammengesetzter Form) aus? Ich bekomme immer noch Fehlermeldungen über den Debugger und weiß nicht so recht woran es liegt.
Danke für deine Hilfe!
AW: TXT Import mit Semikolon
03.04.2018 14:05:59
ChrisL
Hi Malte
Der Code sieht genau so aus wie gepostet. CSV noch durch TXT ersetzen und auf eine neue Tabelle anwenden.
Nachträglich kannst du noch ein paar SVERWEISe einfügen, das wusste ich vorher nicht.
Muss ich die Fehlermeldung erraten?
Unter Extras, Verweise, die Checkbox bei alten Verweisen deaktivieren.
cu
Chris
Anzeige
AW: TXT Import mit Semikolon
03.04.2018 14:09:33
Malte
Hi Chris!
Ja hab ich dann auch gesehen! Klappt super! Vielen vielen Dank! Das erspart mir Stunden!
Gruß Malte

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige