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 = FalseIf Range("D10").Value <> "" And Range("D11").Value <> "" ThenIf Range("D18").Value <> "" Then Range("D17").Select Selection.End(xlDown).Select fin = Selection.Row - 17Else valida = MsgBox("No ha registrado tiempos perdidos; Desea Continuar", vbYesNo) sinparo = 1 If valida <> 6 Then Exit Sub End IfEnd IfDia = Range("J5").ValueMes = Range("J6").ValueAno = Range("J7").Valueturno = Range("J8").Valueoper = Range("D5").Valuepers = Range("D6").Valuemaq = Range("D7").Valuelote = Range("D8").Valuehortur = Range("D9").Valueref = Range("D10").Valuedesref = Range("F10").Valuetiemporef = Range("D11").Valuehorini = Range("D13").Valuehorfin = Range("D14").Value'tiempo = Range("D15").Valuetotkg = Range("J13").Valuetotkgnoconf = Range("J14").Valueobs = Range("J17").ValueNCau = 0ReDim VecCau(0)NCau = finReDim VecCau(NCau)cont = 18For 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 IValora esta pregunta


0
