Realizar una acción en VBA cuando cambie el valor de una celda
He estado probando cómo conseguir que, mediante VBA, cuando cambie el valor de una celda, y solo en ese caso, se produzca una acción concreta, por ejemplo, ocultar una fila. Si lo hago con Worksheet_Change, me "re-calcula" cada vez que hay un cambio en la hoja.
Por ejemplo, para que me entendáis, tengo este código:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Unprotect
If Range("W4").Value = "OCULTAR" Then
Rows("4:4").EntireRow.Hidden = True ' Si pone None oculta
Else
Rows("4:4").EntireRow.Hidden = False ' Si no lo pone las desoculta.
End If
If Range("W5").Value = "OCULTAR" Then
Rows("5:5").EntireRow.Hidden = True ' Si pone None oculta
Else
Rows("5:5").EntireRow.Hidden = False ' Si no lo pone las desoculta.
End If
If Range("W6").Value = "OCULTAR" Then
Rows("6:6").EntireRow.Hidden = True ' Si pone None oculta
Else
Rows("6:6").EntireRow.Hidden = False ' Si no lo pone las desoculta.
End If
If Range("W7").Value = "OCULTAR" Then
Rows("7:7").EntireRow.Hidden = True ' Si pone None oculta
Else
Rows("7:7").EntireRow.Hidden = False ' Si no lo pone las desoculta.
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
End Sub
1 respuesta
Respuesta de Elsa Matilde
1
