Excel - Eventos desactivados

 
Vista:
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Eventos desactivados

Publicado por Inmarcesible (60 intervenciones) el 22/02/2021 16:44:43
Buenas!

Tengo eventos en una hoja de Excel que, de repente, han dejado de funcionar.

En este caso, son eventos que ocurren con cambios (change y selection.change). Consiste en que ocurra un evento en un hoja, cuando se cambia algo en otra hoja.

Pues bien, es parecido a cuando se desactiva el cálculo automático de fórmulas. Ningún evento me funciona ni se hace automáticamente.

¿Qué puede estar ocurriendo y cómo lo soluciono?



Estoy seguro de que el código está bien:

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
Private Sub Worksheet_Change(ByVal Target As Range)
 
Application.EnableEvents = True
 
With ThisWorkbook.Sheets("Registro-Histórico de cambios").Range("A" & Rows.Count).End(xlUp)
.Offset(1, 0).Value = Environ("Username")
.Offset(1, 1).Value = Replace(Target.Address, "$", "")
.Offset(1, 2).Value = ThisWorkbook.Sheets("Auxiliar").Cells(1, 1).Value
.Offset(1, 3).Value = Target.Value
.Offset(1, 4).Value = Date
.Offset(1, 5).Value = Time
End With
 
Application.EnableEvents = True
 
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
Application.EnableEvents = True
 
ThisWorkbook.Sheets("Auxiliar").Cells(1, 1).Value = Target.Value
 
Application.EnableEvents = True
 
End Sub


Muchas gracias!
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Eventos desactivados

Publicado por Antoni Masana (2477 intervenciones) el 22/02/2021 17:22:56
En principio hay un fallo aunque no es la causa:

Primero desactiva la ejecucioón de los eventos ( False ) y al finalizar los activas ( True )

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    With ThisWorkbook.Sheets("Registro-Histórico de cambios").Range("A" & Rows.Count).End(xlUp)
        .Offset(1, 0).Value = Environ("Username")
        .Offset(1, 1).Value = Replace(Target.Address, "$", "")
        .Offset(1, 2).Value = ThisWorkbook.Sheets("Auxiliar").Cells(1, 1).Value
        .Offset(1, 3).Value = Target.Value
        .Offset(1, 4).Value = Date
        .Offset(1, 5).Value = Time
    End With
    Application.EnableEvents = True
End Sub

1
2
3
4
5
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    ThisWorkbook.Sheets("Auxiliar").Cells(1, 1).Value = Target.Value
    Application.EnableEvents = True
End Sub

Prueba a ejecutar esta macro y mira si funcionan los eventos. Revisa tus macros.

1
2
3
Avtiva_Eventos()
    Application.EnableEvents = True
End Sub


Propiedad Application. EnableEvents (Excel)



True si los eventos se activan para el objeto especificado. Boolean de lectura y escritura.

Ejemplo



En este ejemplo se deshabilitan los eventos antes de que se guarde un archivo para que no se produzca el evento BeforeSave .

1
2
3
Application.EnableEvents = False
ActiveWorkbook.Save
Application.EnableEvents = True

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Eventos desactivados

Publicado por Inmarcesible (60 intervenciones) el 22/02/2021 17:43:50
Muchas gracias, lo he resuelto con la macro de activación.

Se habían desactivado.

¿Qué es el evento BeforeSave?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar