Visual Basic para Aplicaciones - Ayuda para ejecutar macro segun valor de celda asociada a cuadro combinado (control de formulario)

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda para ejecutar macro segun valor de celda asociada a cuadro combinado (control de formulario)

Publicado por Delingerb (2 intervenciones) el 01/10/2019 04:02:20
Buenas tardes, agradeceria si me pueden ayudar en lo siguiente:
Tengo un libro complejo con varias hojas y quiero hacer lo siguiente

Tengo un hoja de nombre "General" otra "Datos"
En general tengo un cuadro combinado (control de formulario) asociado a una celda en Datos

lo que quiero realizar es ejecutar un macro para ocultar/mostrar unas columnas segun el contenido de la celda en Datos, que cambia segun el cuadro combinado.

He podido realizarlo cambiado manualmente el valor de la celda en Datos. Pero no con el cuadro combinado apesar de que si se cambia el valor cuando lo utilizo.

Macros para ocultar o mostrar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub ocultarcolumnas()
'
' ocultar Macro
'
    Columns("F:P").Select
    Selection.EntireColumn.Hidden = True
    Range("S3").Select
 
End Sub
 
Sub mostrarcolumnas()
    Columns("F:P").Select
    Selection.EntireColumn.Hidden = False
    Range("J2").Select
End Sub

En la hoja General intente esto

1
2
3
4
5
6
7
8
Private Sub Worksheet_Change(ByVal Target As Range)
If Sheets("Datos").Range("H9") = 4 Then
    Call ocultarcolumnas
    Else
    Call mostrarcolumnas
    End If
End sub
' Ocultar/Mostrar Columnas '

Agradezco de antemano su ayuda
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 Héctor Madriz
Val: 131
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda para ejecutar macro segun valor de celda asociada a cuadro combinado (control de formulario)

Publicado por Héctor Madriz (29 intervenciones) el 01/10/2019 05:29:46
Buen día, prueba esto.

...en la Hoja2
1
2
3
4
5
6
7
Private Sub Worksheet_Activate()
  If Sheets("Hoja1").ComboBox1 = "Ocultar" Then
     Columns("F:P").Hidden = True
  Else
     Columns("F:P").Hidden = False
  End If
End Sub
cambia la condición según lo requieras: If Sheets("Hoja1").Range("H9") = "4" Then

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: 3
Ha aumentado su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda para ejecutar macro segun valor de celda asociada a cuadro combinado (control de formulario)

Publicado por Delinger (2 intervenciones) el 01/10/2019 16:04:17
Hector gracias por tu respuesta, lo que me enviaste no lo puedo agregar a mi archivo. te adjunto un archivo para que me ayudes gracias.
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
Imágen de perfil de Héctor Madriz
Val: 131
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda para ejecutar macro segun valor de celda asociada a cuadro combinado (control de formulario)

Publicado por Héctor Madriz (29 intervenciones) el 01/10/2019 21:34:06
Buen día, cambia la condición así:

Si la celda G2 es 2 ocultar
1
2
3
4
5
6
7
8
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$G$2" And Target = 2 Then
    Columns("L:N").Hidden = True
    Range("A1").Select
 Else
    Columns("L:N").Hidden = False
 End If
End Sub

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