Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2010, 02:02
Avatar de XYON126
XYON126
 
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 16 años, 2 meses
Puntos: 0
Ayuda por favor

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
  1. ' --------------------------------------------------------------------------
  2. ' \\ -- Subrutina para verificar que cantidad de semanas hay en Horas.dat.
  3. ' --------------------------------------------------------------------------
  4.  
  5. Public Sub ContadorSemanas()
  6.  
  7.  
  8. Dim Nsemana As Integer
  9. Dim NRegistro As Integer
  10. Dim i As Integer
  11.  
  12. 'Declaracion array Csemanas
  13. Dim CSemanas() As Variant
  14. D = LOF(Numero) / 94
  15. RegUltimo = LOF(Numero) / 94
  16.  
  17. ReDim CSemanas(D, 1)
  18.  
  19. For i = 1 To D
  20.     With Horas
  21.     Get #Numero, RegUltimo, Horas
  22.     Nsemana = .semana
  23.     NRegistro = RegUltimo
  24.     RegUltimo = RegUltimo - 1
  25.     End With
  26.         MsgBox Nsemana & " , " & NRegistro & " , " & i
  27.         If i > 0 Then
  28.             If CSemanas(i, 1) <> CSemanas(i - 1, 1) Then
  29.             CSemanas(i, 0) = NRegistro
  30.             CSemanas(i, 1) = Nsemana
  31.         End If
  32.     End If
  33.     MsgBox CSemanas(i, 1) & " , " & CSemanas(i - 1, 1)
  34. Next i
  35.  
  36. MsgBox UBound(CSemanas, 1) & "  " & LBound(CSemanas, 2)
  37.  
  38. NrSemanas = UBound(CSemanas, 1)
  39.  
  40. 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

Última edición por XYON126; 28/04/2010 a las 00:42