怎么用VBA读取第一列每个单元格的指定范围的字符
A列内容如下:原文本内容(A1)<字段一信息字段一="a"字段二="abc"字段三="ccc"字段四="ddd"><字段一信息字段一="a"字段二="abc"字段三="c...
A列内容如下:原文本内容(A1) <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd"> <字段一信息 字段一="a" 字段二="abc" 字段三="ccc" 字段四="ddd">B列字段一C列字段二D列字段三E列字段四通过 VBA设置一个按钮,点完按钮即可根据A列的内容自动填充BCDE列的内容
展开
3个回答
展开全部
Sub a()
Dim str1$, i%, j%, k%
For i = 2 To [a65536].End(3).Row
str1 = Cells(i, 1).Value
Do Until InStr(1, str1, Chr(34), 3) = 0
j = InStr(1, str1, Chr(34), 3)
k = InStr(j + 1, str1, Chr(34), 3)
Cells(i, 256).End(xlToLeft).Offset(, 1) = Mid(str1, j + 1, k - j - 1)
str1 = Right(str1, Len(str1) - k)
Loop
Next i
End Sub
用这个代码试试
更多追问追答
追答
Sub a()
Dim str1$, i%, j%, k%,str2$
str2=thisworkbook.path
Workbooks.OpenText Filename:= str2 &"\你的文件名.txt", Origin:= _
936, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(1, 2), _
TrailingMinusNumbers:=True
For i = 2 To [a65536].End(3).Row
str1 = Cells(i, 1).Value
Do Until InStr(1, str1, Chr(34), 3) = 0
j = InStr(1, str1, Chr(34), 3)
k = InStr(j + 1, str1, Chr(34), 3)
Cells(i, 256).End(xlToLeft).Offset(, 1) = Mid(str1, j + 1, k - j - 1)
str1 = Right(str1, Len(str1) - k)
Loop
Next i
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-27
展开全部
貌似用公式MID就可以实现,如果字数固定的话;如果用VBA也是用这个函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询