Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
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 Datei richtig einlesen VBA

txt Datei richtig einlesen VBA
24.09.2022 16:10:31
stef26
Hallo liebe Excelprofis,
ich müsste euch nochmals um Hilfe bitten, da ich das selber leider nicht geregelt bekomme.
Ich hab eine Textdatei.
Diese Textdatei stellt ein Bestückprogramm dar.
Diese würde ich gerne über VBA so einlesen, so dass er mir folgende beiden Sachen in Spalten liefert.
Die ersten Zeilen interessieren mich nicht. Erst wenn das TXT so aussieht.
BE '03079217'
{
KOMMENTAR 'C100'
BE: Das ist eine ist die Materialnummer: 3079217
KOMMENTAR: Das ist der Platz an dem das Teil bestückt wird. C100
https://www.herber.de/bbs/user/155357.txt
Geht das irgendwie, dass ich die Materialnummer in eine Spalte und daneben den Einbauplatz bekomme?
So in der Art:
3079217;C100
Ich bräuchte das in VBA, da ich das dann in etwas abgeänderter Form dann in ein Programm übertragen muss. (Das dürfte ich mit meinen bescheidenen VBA Kenntnissen dann hin bekommen.
Wäre cool wenn Jemand wüsste wie man das machen kann...
Liebe Grüße
Stefan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txt Datei richtig einlesen VBA
24.09.2022 18:41:06
ralf_b
Hier, vielleicht passts ja gleich. Pfad und Tabelle1 als Ziel noch anpassen.

Sub test()
Dim strFileName$, myFile As Integer, sLine$
Dim i&, cnt&, arr, bIn As Boolean
strFileName = "F:\Downloads\Bestückung.txt"
myFile = FreeFile 'Get first free file number
cnt = 1
Open strFileName For Input As #myFile
Tabelle1.Cells(cnt, 1).Resize(1, 2).Value = Array("Material", "Platz")
cnt = cnt + 1
While Not EOF(myFile)
Line Input #myFile, sLine
If InStr(1, sLine, "BE ") > 0 Then
bIn = True
arr = Split(sLine, " '")
Tabelle1.Cells(cnt, 1).Value = Replace(arr(1), "'", "")
End If
If InStr(1, sLine, "KOMMENTAR ") > 0 Then
If bIn = True Then
arr = Split(sLine, " '")
Tabelle1.Cells(cnt, 2).Value = Replace(arr(1), "'", "")
cnt = cnt + 1
bIn = False
End If
End If
Wend
Close #myFile
End Sub

Anzeige
Vielen Dank
24.09.2022 21:33:01
stef26
Hallo Ralf,
vielen Dank. Werde es Morgen mal testen.
Vielen herzlichen Dank für deine Unterstützung!!!
Liebe Grüße
Stefan

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige