2016-10-15 4 views
0

Ich verwende den folgenden Code, um Zeile für Zeile durch eine TXT-Datei zu gehen und (1) eine Textzeichenfolge zu identifizieren und (2) die folgenden 50 Ziffern zu importieren. Ich würde gerne eine Möglichkeit finden, die gesamte ROW aus der TXT-Datei zu importieren, bin aber unsicher, den Code. Gibt es auch eine Möglichkeit, VBA mitzuteilen, die Zeichenfolge SECOND oder THIRD in der TXT-Datei zu finden? Derzeit sucht der Code unten nach dem ersten Vorkommen. Vielen Dank!!VBA - Zeile aus TXT-Datei identifizieren und kopieren

Sub CopyTXT() 

myFile = "G:\Filings\Test\Test.txt" 
Open myFile For Input As #1 

Do Until EOF(1) 
    Line Input #1, textline 
    Text = Text & textline 
Loop 

Close #1 

Revenue = InStr(Text, "Operating Revenues") 

'This is where I'm confused - not sure how to copy that row, so I simply pick a large value and use a mid formula - would like to change this. 
Range("H1").Value = Mid(Text, Revenue + 7, 50) 

End Sub 

Antwort

2

So etwas wie dies (vorausgesetzt, der Text, den Sie suchen sie sind auf einer einzigen Zeile und nicht über mehrere Zeilen aufgeteilt)

Sub CopyTXT() 

    Dim myFile, textline 
    Dim i As Long 

    i = 0 
    myFile = "G:\Filings\Test\Test.txt" 

    Open myFile For Input As #1 

    Do Until EOF(1) 
     Line Input #1, textline 

     If InStr(textline, "Operating Revenues") > 0 Then 
      i = i + 1 

      If i = 2 Then 
       Range("H1").Value = textline 
      End If 

     End If 

    Loop 

    Close #1 

End Sub 
+0

Hey @ Tim. Danke, das ist genau das, wonach ich gesucht habe - um die andere Frage zu beantworten - gibt es Code, um VBA nach dem ZWEITEN oder DRITTEN Vorkommen der Textzeichenfolge suchen zu lassen? – Joe128

+0

siehe meine Bearbeitung oben –

Verwandte Themen