VBA中取字符串中两个特定字符之间的字符
123-123-1233123 结果123
12344-3436-45757结果3436
3534654-23432-2 结果23432
简单一句话就是取两个"-"之间的字符串,"-"每个字符串中只会出现两个。
-前后字符串长度都不确定
求大神赐码!!!!!!
第1个回答 2012-10-16
在A列输入你的原始数据
B列输出结果
Sub test5()
Dim i As Integer
Dim v
i = 1
Do
v = Split(Cells(i, 1), "-")
Cells(i, 2) = v(1)
i = i + 1
Loop Until Cells(i, 1) = ""
End Sub追问
B列输出结果
Sub test5()
Dim i As Integer
Dim v
i = 1
Do
v = Split(Cells(i, 1), "-")
Cells(i, 2) = v(1)
i = i + 1
Loop Until Cells(i, 1) = ""
End Sub追问
这个是EXCLE里的吧!
第2个回答 推荐于2016-03-07
Function 截取数据(源数据 As String) As String
Dim k As Long, str As String
k = InStr(源数据, "-")
str = Mid(源数据, k + 1)
k = InStr(str, "-")
截取数据 = Left(str, k - 1)
End Function追问
Dim k As Long, str As String
k = InStr(源数据, "-")
str = Mid(源数据, k + 1)
k = InStr(str, "-")
截取数据 = Left(str, k - 1)
End Function追问
你的代码输出结果是对的,非常感谢,我找到更简洁的代码了
结果 = Split(数据源, "-")(1)
呵呵,我知道这个函数,但是我以为VBA不支持,我没用过VBA
本回答被提问者采纳第3个回答 2012-10-16
罗国