[英]Excel VBA / Split String Into Columns based on Character Count
我想拆分一个41个字符的字符串,例如以下示例: 01288D29424001190601AJGBGR1413190528SR117
根据字符数从左到右分成不同的列,分割字符串的常量字符数判据是:
5 6 3 6 2 4 4 6 1 1 3
01288 D29424 001 190601 AJ GBGR 1413 190528 S R 117
考虑到每个空格都代表一个新列,上面的字符串将是我的最终结果。
将字段宽度放在B1到L1中 ,将数据放在A2中 。 然后在B2中输入:
=LEFT(A2,B1)
在C2中输入:
=MID($A$2,SUM($B$1:B$1)+1,C$1)
并复制到:
VBA的逻辑相同:
Sub poiuyt()
Dim s As String, arr(0 To 10) As String, i As Long
Dim msg As String
msg = ""
s = "01288D29424001190601AJGBGR1413190528SR117"
wdth = Array(5, 6, 3, 6, 2, 4, 4, 6, 1, 1, 3)
strt = Array(1, 6, 12, 15, 21, 23, 27, 31, 37, 38, 39)
For i = 0 To 10
arr(i) = Mid(s, strt(i), wdth(i))
msg = msg & vbCrLf & arr(i)
Next i
MsgBox msg
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.