Hola de nuevo, al parecer mi duda fue un problema de comprensión de tu mensaje, y al ver como utilizabas el código mas simple de una manera, digamos algo inadecuada, no se porque se me ocurrio que no tenias demasiada experiencia en VB
Por ejemplo cuando haces
c(i) = "" & i en VB suele hacerse
c(i) = cstr(i) ya que resulta mas fácil de 'leer'
De otra parte en vez de
MsgBox "" & c(1) lo normal es poner
MsgBox c(1)
Y desde luego, no se me ocurrió pensar que lo que pretendías era convertir una cadena de caracteres en un Array ya que de lo contrario te habría aconsejado que utilizaras una funcion genérica incorporada a un módulo o formulario como la siguiente que es similar al Split de VB
Código vb:
Ver originalPublic Function StringToChar(Cadena As String) As String()
' Convierte Cadena en Array (Elemento 0 no se utiliza)
ReDim ArrayTemp(Len(Cadena)) As String
Dim Caracter As Integer
For Caracter = 1 To Len(Cadena)
ArrayTemp(Caracter) = Mid$(Cadena, Caracter, 1)
Next
StringToChar = ArrayTemp
End Function
Esta funcion se utiliza de la siguiente manera por ejemplo.
Dim Caracteres() As String
Caracteres = StringToChar("Prueba")
y te devuelve
Caracteres(1)="P"
Caracteres(2)="r"
Caracteres(3)="u"
Caracteres(4)="e"
Caracteres(5)="b"
Caracteres(6)="a"
Saludos y disculpa si entendi mal.