Hola a todos!
Estoy intentado trabajar con un array pero debido a mi desconocimiento no se si la he declarado bien o es otro error.
Código vb:
Ver original' --------------------------------------------------------------------------
' \\ -- Subrutina para verificar que cantidad de semanas hay en Horas.dat.
' --------------------------------------------------------------------------
Public Sub ContadorSemanas()
Dim Nsemana As Integer
Dim NRegistro As Integer
Dim i As Integer
'Declaracion array Csemanas
Dim CSemanas() As Variant
D = LOF(Numero) / 94
RegUltimo = LOF(Numero) / 94
ReDim CSemanas(D, 1)
For i = 1 To D
With Horas
Get #Numero, RegUltimo, Horas
Nsemana = .semana
NRegistro = RegUltimo
RegUltimo = RegUltimo - 1
End With
MsgBox Nsemana & " , " & NRegistro & " , " & i
If i > 0 Then
If CSemanas(i, 1) <> CSemanas(i - 1, 1) Then
CSemanas(i, 0) = NRegistro
CSemanas(i, 1) = Nsemana
End If
End If
MsgBox CSemanas(i, 1) & " , " & CSemanas(i - 1, 1)
Next i
MsgBox UBound(CSemanas, 1) & " " & LBound(CSemanas, 2)
NrSemanas = UBound(CSemanas, 1)
End Sub
Mi intención hasta aqui es saber si me funciona y como prueba le pido al final que me visualice el tamaño de la misma, si el tamaño de la matriz es igual a 12,0 no me ha hecho nada, por otro lado el 2º MsgBox me deberia dar o es lo que pretendo lo que hay en la matriz en la entrada actual y la anterior pero el resultado es blanco, blanco y en el primero visualizo los datos que he de guardar en la matriz¿Donde tengo el error?
Como dato a añadir los datos que lee y corresponden a Nsemana son : 19,19,18,18,18,18,18,18,17,17,17,17 y naturalmente el registro es 12,11,10,9 . . . 3,2,1 si la sentencia se me ejecutara perfectamente el
MsgBox UBound(CSemanas, 1) & " " & LBound(CSemanas, 2) me deberia visualizar 3,0 y es lo que no me hace ademas de los valores blanco, blanco, le he dado 1000 vueltas y no veo el error, no se lo que hago mal o si no hay nada bien.
Ayuda por favor.
Un saludo y 1000 gracias