VB将TXT中特定的行提取到EXCEL中
Statement=hull.block(*).namNumberofdataextracted=41Resulttype=3101C101P/S102C102P/S10...
Statement= hull.block(*).nam
Number of data extracted = 41
Result type = 3
101C
101P/S
102C
102P/S
103C
103P/S
104C
104P/S
105C
105P/S
106C
106P/S
107C
107P/S
108C
108P/S
109C
109P/S
110C
110P/S
201P
201S
202P
202S
301P
301S
302P
302S
701P
701S
702P
702S
801P/S
802C
802P/S
803P
803S
804
805
901P/S
902P/S
如题我想将101C后面的东西弄到sheets表中的一列,如何实现
谢谢
如果我只想提取到805呢 还有一个问题我能否直接打开那个文件而不是去选那个文件
就是在程序中直接把程序的路径写进去
一点也不懂太麻烦你了 展开
Number of data extracted = 41
Result type = 3
101C
101P/S
102C
102P/S
103C
103P/S
104C
104P/S
105C
105P/S
106C
106P/S
107C
107P/S
108C
108P/S
109C
109P/S
110C
110P/S
201P
201S
202P
202S
301P
301S
302P
302S
701P
701S
702P
702S
801P/S
802C
802P/S
803P
803S
804
805
901P/S
902P/S
如题我想将101C后面的东西弄到sheets表中的一列,如何实现
谢谢
如果我只想提取到805呢 还有一个问题我能否直接打开那个文件而不是去选那个文件
就是在程序中直接把程序的路径写进去
一点也不懂太麻烦你了 展开
1个回答
展开全部
Sub Macro1()
'
Dim R As Integer, zDATA As String, zG As Boolean
Dim sFName As String, iFNumber As Integer
Dim zBEG As String, zEND As String
'sFName = Application.GetOpenFilename("需要导入的数据(*.TXT), *.TXT", , "导入数据", , False)
'If sFName = "False" Or sFName = "" Then Exit Sub
sFName = "D:\桌面\test.txt" '路径自己写进来了
zBEG = "101C" '你需要开始的字符串
zEND = "805" '你需要提取的最后的字符串
Sheets("Sheet1").Select
zG = False
If Len(Dir(sFName, vbDirectory)) > 0 Then
iFNumber = FreeFile '获取可用文件号
Open sFName For Input As #iFNumber '用Input方式打开文件
R = 1
Do
On Error GoTo ErrorHandler
Input #iFNumber, zDATA
On Error GoTo 0
If Trim(zDATA) = zBEG Or zG Then
zG = True
Cells(R, 1) = Trim(zDATA)
If Trim(zDATA) = zEND Then Exit Do
R = R + 1
End If
ErrorHandler:
Loop Until EOF(iFNumber)
Close #iFNumber '关闭文件
End If
MsgBox "工作已完成。", vbInformation, "完成"
End Sub
'
Dim R As Integer, zDATA As String, zG As Boolean
Dim sFName As String, iFNumber As Integer
Dim zBEG As String, zEND As String
'sFName = Application.GetOpenFilename("需要导入的数据(*.TXT), *.TXT", , "导入数据", , False)
'If sFName = "False" Or sFName = "" Then Exit Sub
sFName = "D:\桌面\test.txt" '路径自己写进来了
zBEG = "101C" '你需要开始的字符串
zEND = "805" '你需要提取的最后的字符串
Sheets("Sheet1").Select
zG = False
If Len(Dir(sFName, vbDirectory)) > 0 Then
iFNumber = FreeFile '获取可用文件号
Open sFName For Input As #iFNumber '用Input方式打开文件
R = 1
Do
On Error GoTo ErrorHandler
Input #iFNumber, zDATA
On Error GoTo 0
If Trim(zDATA) = zBEG Or zG Then
zG = True
Cells(R, 1) = Trim(zDATA)
If Trim(zDATA) = zEND Then Exit Do
R = R + 1
End If
ErrorHandler:
Loop Until EOF(iFNumber)
Close #iFNumber '关闭文件
End If
MsgBox "工作已完成。", vbInformation, "完成"
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询