早上好,
我在VBA遇到了一个问题,虽然很小但很烦人。
我想要做的是拆分给定的String
并将其传递给数组;这个数组将是一个字符数组。
我知道Split()
功能;它根据给定的分隔符拆分字符串 - 但这最适合具有实际分隔符的字符串 - 我的不是。
所以,例如 - 假设我收到了字符串"123asdf4"
- 我将如何将其放入数组中?因此,从上面的例子中 - 数组看起来像这样:
myArray(0) = 1
myArray(1) = 2
myArray(2) = 3
myArray(3) = a
myArray(4) = s
'You get the picture
由于
P.S。我不记得你可以导入哪些库到VBA代码 - 即C,C ++或C#库。有人可以概述它是什么吗?
答案 0 :(得分:2)
Dim i As Long
Dim str As String, arr() As String
str = "123asdf4"
ReDim arr(Len(str)-1)
For i = 0 to Len(str)-1
arr(i) = mid$(str, i+1, 1)
Next i
答案 1 :(得分:1)
SplitByCharacter()
函数返回String数组数据类型。此数组由最初传递给函数的字符组成(myStr
,即“123asdf4”)。所以现在你的myArr
是一个包含8个字符串对象的数组。
Sub Main()
Dim myStr As String
myStr = "123asdf4"
Dim myArr
myArr = SplitByCharacter(myStr)
Dim i As Long
For i = LBound(myArr) To UBound(myArr)
Debug.Print "pos: " & i, "val: " & myArr(i)
Next i
End Sub
Private Function SplitByCharacter(s As String) As String()
ReDim arr(Len(s) - 1) As String
Dim i As Long
For i = 1 To Len(s)
arr(i - 1) = Mid$(s, i, 1) ' or Right$(Left$(s, i), 1)
Next i
SplitByCharacter = arr
End Function