Creo que lo que intentas es algo asi:
Código vb:
Ver originalDim arraygmn() As String ' nuestro array
Dim Contador As Long ' para contar las lineas
Dim iContadorLineasSolicitudPM As Long ' para redimensionar el array
iContadorLineasSolicitudPM = - 1 ' ponemos el contador a - 1
' uso 2 contadores diferentes porque no se lo que intentas
' pero igual podria ser el mismo
Contador = 0
Do While contador < lineas.Count ' mientras haya lineas
' creamos un nuevo elemento
iContadorLineasSolicitudPM = iContadorLineasSolicitudPM + 1
' lo creamos con preserve para mantener lo que ya habia
ReDim Preserve arraygmn(iContadorLineasSolicitudPM, 3)
' guardamos los 4 valores
arraygmn(iContadorLineasSolicitudPM, 0) = gmn(0)
arraygmn(iContadorLineasSolicitudPM, 1) = gmn(1)
arraygmn(iContadorLineasSolicitudPM, 2) = gmn(2)
arraygmn(iContadorLineasSolicitudPM, 3) = gmn(3)
contador = contador + 1
'lo que no tengo claro es como cargas la matriz gmn y si
'tiene siempre los mismos valores, porque no se recarga.
Loop
Suerte