将string的单个字符移动到数组中
我的macros的一部分试图取一个string,并将字符分解成它自己的数组值,如下所示:
'matchName As String is called from the Sub parameter Dim matchArray(1 To 30) As Characters Dim i As Integer i = 1 While Mid(matchName, i, 1) <> "" matchArray(i) = Mid(matchName, i, 1) i = i + 1 Wend
据我所知,这应该运行得很好,但我遇到了:
运行时错误“91”:“对象variables或块variables未设置”。
我真的不知道为什么会这样,并会爱另一双眼睛(或更多!),看看我是否失去了一些东西。
这里是如何做到这一点:
Dim matchArray Dim i As Long ReDim matchArray(1 To Len(matchName)) For i = 1 To Len(matchName) matchArray(i) = Mid(matchName, i, 1) Next
。
虽然上面的工作完美无缺,但是在一条线上却没有任何循环,
myArray = Evaluate("transpose(mid(""" & matchName & """,row(1:" & Len(matchName) & "),1))")