将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))")