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.

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
Valora esta pregunta


0