Via VB best. Zeilen aus TXT-File in Excelsheet schreiben
Guten Tag!
Habe lange wegen meinem Problem gegoogelt und hier einige Beiträge durchgelesen und mit den antworten/vorschlägen rumgetüftelt..
Hat aber leider nur teilweise geklappt..
Nach langem Überlegen hab ich mich jetz, da ich kurz vorm verzweifeln bin, dazu entschlossen mein Problem mit euch zu teilen ^^.
Und zwar:
Ich muss aus einer TXT.FILE die wie folgt aussieht (die Struktur wiederholt sich, da das File über 12000-Zeilen behinhaltet)
die Zeile zwischen den "-Zeichen(Anführungszeichen) rauskopieren und in Excel in eine bestimmte Spalte,z.B. A4, schreiben.
D.h. Ich gebe als Suchbegriff Description ein und alles was hinter Description zwischen den "-Zeichen steht, soll er rauskopieren und in Excel reinschreiben.
OPCMSG "BSH_APO"
DESCRIPTION "OVO/APO integration"
MSGGRP "APO"
MSGCONDITIONS
DESCRIPTION "MSG TYPE C/M/W SERVER blabla"
CONDITION_ID "0f58bla466-850d-71db-06fc-0a8blabla60000"
CONDITION
SEVERITY Warning Major Critical
NODE IP 10.blab.bla.91 "blabla.com"
TEXT "<*.txt>"
SET
APPLICATION "Automation Point"
MSGGRP "APblaO"
TEXT "NEW APO <txt>"
DESCRIPTION "MSG TYPE bla/lb/a SERVER blabla"
CONDITION_ID "00b91724-850d-71db-06fc-0a80809blabla"
CONDITION
SEVERITY Warning Major Critical
NODE IP 10.bla.blalba.92 "blalba.com"
TEXT "<*.txt>"
Das alles soll über VBA funktionieren.
Habe etwas ähnliches bereits gefunden:
Sub SuchenUndSchreiben()
On Error GoTo Fehler
Dim Datei As String
Dim Fnr As Long
Dim Trennzeichen As String
Dim Suchbegriff As String
Trennzeichen = ": "
Suchbegriff = "Description"
Datei = "C:\temp\Datei.txt"
Fnr = FreeFile
Open Datei For Input As #Fnr
While Not EOF(Fnr)
Line Input #Fnr, Zeile
tokens = Split(Zeile, Trennzeichen)
If tokens(0) = Suchbegriff Then Range("a3").Value = tokens(1)
Wend
Close #Fnr
Exit Sub
Fehler:
MsgBox "Es trat ein Fehler beim Öffnen der" & " Datei !", 16, "Problem"
Exit Sub
Resume Next
End Sub
Wäre wirklich Super, wenn mir jemand helfen könnte!
Vielen Dank das du dir mein Problem angeschaut hast!
Grüße CakeHead
Habe lange wegen meinem Problem gegoogelt und hier einige Beiträge durchgelesen und mit den antworten/vorschlägen rumgetüftelt..
Hat aber leider nur teilweise geklappt..
Nach langem Überlegen hab ich mich jetz, da ich kurz vorm verzweifeln bin, dazu entschlossen mein Problem mit euch zu teilen ^^.
Und zwar:
Ich muss aus einer TXT.FILE die wie folgt aussieht (die Struktur wiederholt sich, da das File über 12000-Zeilen behinhaltet)
die Zeile zwischen den "-Zeichen(Anführungszeichen) rauskopieren und in Excel in eine bestimmte Spalte,z.B. A4, schreiben.
D.h. Ich gebe als Suchbegriff Description ein und alles was hinter Description zwischen den "-Zeichen steht, soll er rauskopieren und in Excel reinschreiben.
OPCMSG "BSH_APO"
DESCRIPTION "OVO/APO integration"
MSGGRP "APO"
MSGCONDITIONS
DESCRIPTION "MSG TYPE C/M/W SERVER blabla"
CONDITION_ID "0f58bla466-850d-71db-06fc-0a8blabla60000"
CONDITION
SEVERITY Warning Major Critical
NODE IP 10.blab.bla.91 "blabla.com"
TEXT "<*.txt>"
SET
APPLICATION "Automation Point"
MSGGRP "APblaO"
TEXT "NEW APO <txt>"
DESCRIPTION "MSG TYPE bla/lb/a SERVER blabla"
CONDITION_ID "00b91724-850d-71db-06fc-0a80809blabla"
CONDITION
SEVERITY Warning Major Critical
NODE IP 10.bla.blalba.92 "blalba.com"
TEXT "<*.txt>"
Das alles soll über VBA funktionieren.
Habe etwas ähnliches bereits gefunden:
Sub SuchenUndSchreiben()
On Error GoTo Fehler
Dim Datei As String
Dim Fnr As Long
Dim Trennzeichen As String
Dim Suchbegriff As String
Trennzeichen = ": "
Suchbegriff = "Description"
Datei = "C:\temp\Datei.txt"
Fnr = FreeFile
Open Datei For Input As #Fnr
While Not EOF(Fnr)
Line Input #Fnr, Zeile
tokens = Split(Zeile, Trennzeichen)
If tokens(0) = Suchbegriff Then Range("a3").Value = tokens(1)
Wend
Close #Fnr
Exit Sub
Fehler:
MsgBox "Es trat ein Fehler beim Öffnen der" & " Datei !", 16, "Problem"
Exit Sub
Resume Next
End Sub
Wäre wirklich Super, wenn mir jemand helfen könnte!
Vielen Dank das du dir mein Problem angeschaut hast!
Grüße CakeHead
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 103535
Url: https://administrator.de/forum/via-vb-best-zeilen-aus-txt-file-in-excelsheet-schreiben-103535.html
Ausgedruckt am: 22.04.2025 um 14:04 Uhr
7 Kommentare
Neuester Kommentar
Moin Moin
Ohne Referenz auf Excel wird das nix.
Versuchs mal so (ungetestet):
Gruß L.
Ohne Referenz auf Excel wird das nix.
Versuchs mal so (ungetestet):
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFile = objFSO.OpenTextFile("c:\Source.txt", 1)
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add
Set objWorkSheet = objWorkbook.Worksheets(1)
Do Until objSourceFile.AtEndOfStream
szNextLine = objSourceFile.Readline
tokens = Split(szNextLine, Chr(34))
If tokens(0) = Suchbegriff Then
objWorkSheet.Range("A3").Value = tokens(1)
end if
Loop
objWorkbook.SaveAs "C:\MappeX.xls"
objExcel.Visible = True
Gruß L.
Moin Moin
Nun Ja ich habe in der Zeile
auch keinen Suchbegriff angegeben. Wenn Du das auch nicht gemacht hast wird nix gefunden worden sein.
Endweder packst du die suche in eine eigene Funktion und rufst diese mit verschiedenen Suchbegriffen auf oder du abreitest eine Liste/Array mit suchbegriffen ab.
Gruß L.
habs ausprobiert, er macht mir mit dem code nur eine neue Excel-Map auf... sonst nichts.
Nun Ja ich habe in der Zeile
...
If tokens(0) = Suchbegriff Then
...
jedoch stoppt er nachdem er den suchbegriff gefunden hat.
Sowohl dein code als auch mein Bsp. suchen nur einen Suchbegriff.Endweder packst du die suche in eine eigene Funktion und rufst diese mit verschiedenen Suchbegriffen auf oder du abreitest eine Liste/Array mit suchbegriffen ab.
Gruß L.