Ayuda con error en tiempo de ejecución '-2147417848 (80010108)'
Publicado por roger (3 intervenciones) el 08/06/2021 23:28:21
Hola a todos, gracias por leer este post.
Tengo un documento Excel que hice para controlar mis tareas y subtareas diarias, las cuales voy agregando (con un userform) y las voy almacenando, mediante algunas macros, en listas con nombres definidos. De tal forma, en otra hoja utilizo dichas listas en forma desplegable y relacionadas entre si.
El año pasado estuve usando una primera versión de dicha planilla y siempre fue muy estable y solo una vez en todo un año me dio un error menor que al cerrar y volver a abrir el documento no volvió a molestar nunca mas. Sin embargo, luego de actualizar mi documento y haber añadido algunas otras macros, de forma intermitente y casi aleatoria me aparece el siguiente error al añadir una nueva tarea:

Lo extraño es que solo ocurre cada que agrego unas 3 a 5 nuevas tarea, luego si cierro el documento, se reinicia Excel y me sale una hoja en blanco, luego cierro el esa hoja en blanco, vuelvo a abrir el documento y me deja agregar tareas sin problemas, hasta que unas 3 a 5 tareas después nuevamente aparece el mismo error.
El depurador me envía a esta línea (la cual estoy casi seguro que no tiene ningún problema porque ya la usaba en la anterior versión de mi Excel):

Dejo adjunto el documento Excel y aquí el código por si alguien puede ayudarme por favor:
Tengo un documento Excel que hice para controlar mis tareas y subtareas diarias, las cuales voy agregando (con un userform) y las voy almacenando, mediante algunas macros, en listas con nombres definidos. De tal forma, en otra hoja utilizo dichas listas en forma desplegable y relacionadas entre si.
El año pasado estuve usando una primera versión de dicha planilla y siempre fue muy estable y solo una vez en todo un año me dio un error menor que al cerrar y volver a abrir el documento no volvió a molestar nunca mas. Sin embargo, luego de actualizar mi documento y haber añadido algunas otras macros, de forma intermitente y casi aleatoria me aparece el siguiente error al añadir una nueva tarea:
Lo extraño es que solo ocurre cada que agrego unas 3 a 5 nuevas tarea, luego si cierro el documento, se reinicia Excel y me sale una hoja en blanco, luego cierro el esa hoja en blanco, vuelvo a abrir el documento y me deja agregar tareas sin problemas, hasta que unas 3 a 5 tareas después nuevamente aparece el mismo error.
El depurador me envía a esta línea (la cual estoy casi seguro que no tiene ningún problema porque ya la usaba en la anterior versión de mi Excel):
Dejo adjunto el documento Excel y aquí el código por si alguien puede ayudarme por favor:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
Public Sub Registrar_Tarea()
'validaciones para que sea mas rapida la macro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
If Range("A4").Value = Empty Then 'registro de la primera tarea
'Registramos la primera tarea
Range("A4").Value = 1
Numero_Tarea = 1
Range("B4").Value = Nombre_Tarea
Fecha_Tarea = DateValue(Now)
Range("C4").Value = Fecha_Tarea
Range("D4").Value = Prioridad
With Range("D4").Validation 'para que salga la lista desplegable de Prioridad
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Prioridades"
End With
Range("E4").Value = Info_extra_Tarea
Range("F4").Value = Estado
With Range("F4").Validation 'para que salga la lista desplegable de estado
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Estado_de_tarea"
End With
'Creamos la primera subtarea
Range("I3").Value = Nombre_Tarea
Range("I2").Value = 1
Range("I4").Value = "NA"
'Damos formato a las celdas
'Celda nombre de tarea
With Range("I3").Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Range("I3").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("I3").Font.Bold = True
'Celda numero de tarea
With Range("I2").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
'Celda subtarea
With Range("I4").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
'Creamos lista con nombre definido para las subtareas de la nueva tarea agregada
ActiveWorkbook.Names.Add Name:=Nombre_Tarea, RefersTo:=Range("I4")
'Creamos lista Todas_mis_tareas
ActiveWorkbook.Names.Add Name:="Todas_mis_tareas", RefersTo:=Range("I3")
'Creo el calendario para 1 año desde la primera tarea agregada
Call Calendario_Gannt
'Agregamos la tarea al diagramma de Gannt
Call Agregar_Tarea_Gannt
'selecciono la hoja Todas
Sheets("Todas").Select
'Agrego la Unidad de medicion por defecto a la nueva tarea
Opcion_Unidad = 1
Call Agregar_Unidad
'Dejamos seleccionada la ultima tarea agregada
Range("A4").Select
ElseIf Range("A4").Value <> Empty Then 'en caso de que no sea la primera tarea
'Registramos la nueva tarea
Range("A3").End(xlDown).Offset(1, 0).Select 'identificamos la siguiente fila vacia por debajo del ultimo registro en la lista
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
Numero_Tarea = ActiveCell.Value
ActiveCell.Offset(0, 1).Value = Nombre_Tarea
Fecha_Tarea = DateValue(Now)
ActiveCell.Offset(0, 2).Value = Fecha_Tarea
ActiveCell.Offset(0, 3).Value = Prioridad
With ActiveCell.Offset(0, 3).Validation 'para que salga la lista desplegable de Prioridad
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Prioridades"
End With
ActiveCell.Offset(0, 4).Value = Info_extra_Tarea
ActiveCell.Offset(0, 5).Value = Estado
With ActiveCell.Offset(0, 5).Validation 'para que salga la lista desplegable de estado de tarea
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Estado_de_tarea"
End With
'Creamos la subtarea correspondiente a la nueva tarea agregada
Range("H3").Select
Selection.End(xlToRight).Select 'identificamos la ultima lista de subtareas agregada
ActiveCell.Offset(0, 1).Value = Nombre_Tarea
ActiveCell.Offset(-1, 1).Value = Numero_Tarea
ActiveCell.Offset(1, 1).Value = "NA"
'Damos formato a las celdas
'Celda nombre de tarea
With ActiveCell.Offset(0, 1).Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With ActiveCell.Offset(0, 1).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveCell.Offset(0, 1).Font.Bold = True
'Celda numero de tarea
With ActiveCell.Offset(-1, 1).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
'Celda subtarea
With ActiveCell.Offset(1, 1).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
'Creamos lista con nombre definido para las subtareas de la nueva tarea agregada
ActiveWorkbook.Names.Add Name:=Nombre_Tarea, RefersTo:=ActiveCell.Offset(1, 1)
'Actualizamos lista Todas_mis_tareas
Range("I3").Select
ActiveWorkbook.Names.Add Name:="Todas_mis_tareas", RefersTo:=Range(Selection, Selection.End(xlToRight))
'Agregamos la tarea al diagramma de Gannt
Call Agregar_Tarea_Gannt
'selecciono la hoja Todas
Sheets("Todas").Select
'Agrego la Unidad de medicion por defecto a la nueva tarea
Opcion_Unidad = 1
Call Agregar_Unidad
'Dejamos seleccionada la ultima tarea agregada
Range("A" & Rows.Count).End(xlUp).Select
End If
'validaciones para que sea mas rapida la macro
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False
End Sub
Valora esta pregunta


0