OpenOffice - Problema Redim

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado 1 puesto en OpenOffice (en relación al último mes)
Gráfica de OpenOffice

Problema Redim

Publicado por Mario Andres (1 intervención) el 19/05/2020 23:13:02
Hola, no entiendo porque me sale este error:
Error en tiempo de ejecucion en BASIC. indice fuera del area definida. me resalta el Redim
Adjunto codigo, ver imagen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Private Type CausasPer
    causa As String
    horini As Double
    horfin As Double
    tiempo As Double
    tipo As String
End Type
 
Public VecCau() As CausasPer
Public NCau As integer
 
Sub guardar()
Dim I, cont, fin, finreg As Integer
Dim TAfecta, TNoAfecta As Double
 
' Application.ScreenUpdating = False
If Range("D10").Value <> "" And Range("D11").Value <> "" Then
If Range("D18").Value <> "" Then
 Range("D17").Select
 Selection.End(xlDown).Select
 fin = Selection.Row - 17
Else
 valida = MsgBox("No ha registrado tiempos perdidos; Desea Continuar", vbYesNo)
 sinparo = 1
 If valida <> 6 Then
     Exit Sub
 End If
End If
Dia = Range("J5").Value
Mes = Range("J6").Value
Ano = Range("J7").Value
turno = Range("J8").Value
oper = Range("D5").Value
pers = Range("D6").Value
maq = Range("D7").Value
lote = Range("D8").Value
hortur = Range("D9").Value
ref = Range("D10").Value
desref = Range("F10").Value
tiemporef = Range("D11").Value
horini = Range("D13").Value
horfin = Range("D14").Value
'tiempo = Range("D15").Value
totkg = Range("J13").Value
totkgnoconf = Range("J14").Value
obs = Range("J17").Value
NCau = 0
ReDim VecCau(0)
NCau = fin
ReDim VecCau(NCau)
cont = 18
For I = 1 To NCau
     VecCau(I).causa = Range("D" & cont).Value
     VecCau(I).horini = Range("E" & cont).Value
     VecCau(I).horfin = Range("F" & cont).Value
     VecCau(I).tiempo = Range("G" & cont).Value * 24
     VecCau(I).tipo = Range("H" & cont).Value
     If Range("H" & cont).Value = "Programado" Then
         TNoAfecta = (TNoAfecta + Range("G" & cont).Value * 24)
     Else
         TAfecta = (TAfecta) + (Range("G" & cont).Value * 24)
     End If
     cont = cont + 1
 Next I

error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder