Checkbox para ocultar y mostrar determinadas celdas en base a un criterio

Vengo pidiendo apoyo de ustedes, tengo un archivo con checkbox el cual funciona asi cuando selecciono los checkbox oculta las filas y cuando se desmarca muestra las filas ocultas, lo que yo quiero hacer ahora es que ese checkbox funcione en base a celdas, quiero colocar tres checkbox con los siguientes nombre: 1 créditos, 2 débitos y 3 financiamiento en un rango de celdas de h8 a h500, es aquí donde van a estar esos textos, por ejemplo que al momento de seleccionar el checkbox de financiamiento solo me muestre esas filas que en la columna h estara ese texto y al desmarcarlo que muestre todas las filas, alguien me paso esa macro pero es para ocultar filas

Private Sub CheckBox1_Click()
ActiveSheet.Unprotect "regional2018"
If CheckBox1.Value = True Then
Rows("22:45").EntireRow.Hidden = False
Range("a16").Select
Else
CheckBox1.Value = False
Range("H24:H43").ClearContents
Rows("22:45").EntireRow.Hidden = True
Range("a16").Select
End If
ActiveSheet.Protect "regional2018", DrawingObjects:=True, Contents:=True, Scenarios:=True ' las protege

End Sub

Private Sub CheckBox2_Click()
ActiveSheet.Unprotect "regional2018"
If CheckBox2.Value = True Then
Rows("46:51").EntireRow.Hidden = False
Range("a16").Select
Else
CheckBox2.Value = False
Range("H48:H49").ClearContents
Rows("46:51").EntireRow.Hidden = True
Range("a16").Select
End If
ActiveSheet.Protect "regional2018", DrawingObjects:=True, Contents:=True, Scenarios:=True ' las protege

End Sub

Private Sub CheckBox3_Click()
ActiveSheet.Unprotect "regional2018"
If CheckBox3.Value = True Then
Rows("52:61").EntireRow.Hidden = False
Range("a16").Select
Else
CheckBox3.Value = False
Range("I54:I56").ClearContents
Rows("52:61").EntireRow.Hidden = True
Range("a16").Select
End If
ActiveSheet.Protect "regional2018", DrawingObjects:=True, Contents:=True, Scenarios:=True ' las protege

End Sub

Private Sub CheckBox4_Click()
ActiveSheet.Unprotect "regional2018"
If CheckBox4.Value = True Then
Rows("62:85").EntireRow.Hidden = False
Range("a16").Select
Else
CheckBox4.Value = False
Range("H65:H66").ClearContents
Range("H71:H77").ClearContents
Range("i83").ClearContents
Rows("62:85").EntireRow.Hidden = True
Range("a16").Select
End If
ActiveSheet.Protect "regional2018", DrawingObjects:=True, Contents:=True, Scenarios:=True ' las protege

End Sub

1 respuesta

Respuesta
1

Ah, caray, ya había respondido en otro post... o no sé... va de nuevo.

"Primero que nada enlaza cada check list a una celda en específico, una vez que las tengas enlazadas (yo hice el ejercicio en H5, H7, H9) vas pegar el código que te mando en el editor:"

Sub evento1()
'
Dim X As Boolean
'
    X = Range("H5").Value
'
If X = "VERDADERO" Then Range("A11:L24").AutoFilter Field:=12, Criteria1:="Transferencia con un Débito"
If X = "FALSO" Then Cells.AutoFilter
'
End Sub
Sub evento2()
'
Dim X As Boolean
'
    X = Range("H7").Value
'
If X = "VERDADERO" Then Range("A11:L24").AutoFilter Field:=12, Criteria1:="Transferencia con un Crédito"
If X = "FALSO" Then Cells.AutoFilter
'
End Sub
Sub evento3()
'
Dim X As Boolean
'
    X = Range("H9").Value
'
If X = "VERDADERO" Then Range("A11:L24").AutoFilter Field:=12, Criteria1:="Financiamiento"
If X = "FALSO" Then Cells.AutoFilter
'
End Sub

"Y a cada checklist le asignas una macro, cada una tiene el filtro a aplicar, sólo corrige los rangos que vayas a ocupar en tu archivo y en el código y listo."

Gracias, te adjunto pantalla para que veas el archivo, el texto esta en la columna L, y lo que deseo es que al momento de seleccionar me muestra 

o si fuese posible te envió el archivo algún correo, muy agradecido con tu apoyo. 

Encantado de ayudar.
[email protected]

muy agradecida, ya te envíe el archivo,

Te contesté tu correo, favor de puntuar. ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas