好久没上百度了..
首先,说一下我对问题的理解:
原文本:
sdjlaakjdfA目标数据Bskajfajl
sdjlasd332akjdfA目标数据2BskSDasd332ajl
sdjlaakjdfA目标数据3Bssde
想得到的文本:
目标数据
目标数据2
目标数据3
第二,我们可以换一种方式解决这个问题,使用字符串处理将"目标数据"提取出来便可.
第三,也许不是楼主想要的解决之法.
帮你写了一个html+js的小程序。。
将以下内容复制到记事本后,另存为"提取目标数据.html"
新建一个excel文件
打开后,在
A1单元格输入你的A
B1单元格输入你的B
C1单元格输入你的C
然后按ALT+F11
双击左边中部的:"Thisworkbook"
再把百分号行以下的内容复制粘贴进去。(百分号行不用复制)
保存,运行(按F5)即可。 (中间会叫你定位你的文件文件)
返回Excel文件即可以看到相关信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Sub process()
Dim FileName As Variant
Dim str
Dim m, posA, posB As Integer
Dim A, B, C As String
FileName = Application.GetOpenFilename(FileFilter:="文本文档(*.txt),*.TXT")
Open FileName For Input As #1
Worksheets("sheet1").Cells.NumberFormatLocal = "@"
m = 2
If FileName = "" Then
Exit Sub
End If
A = Worksheets("sheet1").Cells(1, 1)
B = Worksheets("sheet1").Cells(1, 2)
C = Worksheets("sheet1").Cells(1, 3)
Worksheets("sheet1").Range("a2:IV65535").ClearContents
Do While Not EOF(1)
Line Input #1, str
posA = InStr(str, A)
posB = InStr(str, B)
If posA <> 0 And posB <> 0 Then
Worksheets("sheet1").Cells(m, 1) = Mid(str, posA + Len(A), posB - posA - Len(A)) & C
End If
m = m + 1
Loop
Close #1
End Sub
你的意思是:文本文件里每行为一个部分,比如一行是:r98A目标数据B*u3985.
然后我要把B*u3985变成C*u3985,然后复制出来,输入到excel?
是不是
看不懂你的需求。
原始数据、转换成的数据,举两个例子。
我也没看懂。