View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default line input problem-need to return 5 lines after a string is found

sub return5lines ()

dim filename as sstring = "C:\myfile.txt"
dim strdata as string
dim texttofind as string = "my text"

Open filename For Input As #1
Do Until EOF(1)
Line Input #1, strdata
If InStr(1, strdata, texttofind) Then
For i = 1 To 5
ActiveSheet.Range("a" & i) = strdata
Line Input #1, strDate
next
exit do
end if
Loop
Close #1

end sub

--
Regards,
Tom Ogilvy

"festdaddy" wrote in message
oups.com...
I've been tinkering with this for a few hours and can't seem to get it
to work correctly.
I'm using line input to go through each line looking for a string. When
the string is found, i want to return the line it came from, and the 4
lines below it. Would this be easier with an array? Or do I just have
the loop/for sequencing wrong?

sub return5lines ()

dim filename as sstring = "C:\myfile.txt"
dim strdata as string
dim texttofind as string = "my text"

Open filename For Input As #1
Do Until EOF(1)
Line Input #1, strdata
If InStr(1, strdata, texttofind) Then
i = 1
End If
For i = 1 To 5
ActiveSheet.Range("a" & i) = strdata
i = i + 1
Loop
Close #1

end sub