Si "lees" el código entenderás qué pasa:
Código vb:
Ver originalReDim Preserve matrix(i)
' ¿Qué valor tiene i?. Si no le has dado otro valor será 0
' Por lo que tu array quedaría con un único elemento, matrix(0)
For i = 0 To UBound(vConfigName)
'¿Cuánto vale i?. 0, así que en la primera repetición, todo bien
matrix(i).konfi = vConfigName(i)
'Aquí está el problema, al volver a repetir el código "i" valdrá 1
'Por lo que al tratar de colocar un valor en matrix(1) provocará un error.
Next i
P.S.: Ejecutar paso a paso es muy útil para detectar esta clase de errores, para depurar el código.