Excel_Macro Ocultar columnas según condición
Soy un usuario bastante inexperto en el tema de las macros y me ha surgido un problemilla que no consigo solucionar, os explico, tengo un libro con tres hojas, en la primera hoja (datos de partida) hay una especie de formulario con listas desplegables vinculadas a una tercera hoja.
En la segunda hoja está el "Presupuesto NPV" que se calcula a partir de fórmulas según los datos elegidos de la primera hoja, pues bien, en esta hoja (Presupuesto NPV), quiero ocultar ciertas columnas en función del valor de la celda "g10" de la tercera hoja ("Ref") :
Si g10= 1 se tendrán que ocultar las columnas f, g y h de Presupuesto NPV
Si g10= 2 se tendrán que ocultar las columnas g y h de Presupuesto NPV
Si g10= 3 se tendrán que ocultar las columnas f y h de Presupuesto NPV
Si g10= 4 se tendrán que ocultar las columnas f y g de Presupuesto NPV
He comenzado únicamente con la primera condición añadiendo en la macro que tengo lo siguiente y ya me da error:
'Ocultar columnas en función del proveedor "Presupuesto NPV"
Sheets("Presupuesto NPV").Select
If [ref!g10] = 1 Then
Columns("F:H").Select
Selection.EntireColumn.Hidden = True
End if
El error que sale es 1004 "no se puede asignar la propiedad hidden de la clase Range"
Por favor, ¿podríais ayudarme a resolverlo?
En la segunda hoja está el "Presupuesto NPV" que se calcula a partir de fórmulas según los datos elegidos de la primera hoja, pues bien, en esta hoja (Presupuesto NPV), quiero ocultar ciertas columnas en función del valor de la celda "g10" de la tercera hoja ("Ref") :
Si g10= 1 se tendrán que ocultar las columnas f, g y h de Presupuesto NPV
Si g10= 2 se tendrán que ocultar las columnas g y h de Presupuesto NPV
Si g10= 3 se tendrán que ocultar las columnas f y h de Presupuesto NPV
Si g10= 4 se tendrán que ocultar las columnas f y g de Presupuesto NPV
He comenzado únicamente con la primera condición añadiendo en la macro que tengo lo siguiente y ya me da error:
'Ocultar columnas en función del proveedor "Presupuesto NPV"
Sheets("Presupuesto NPV").Select
If [ref!g10] = 1 Then
Columns("F:H").Select
Selection.EntireColumn.Hidden = True
End if
El error que sale es 1004 "no se puede asignar la propiedad hidden de la clase Range"
Por favor, ¿podríais ayudarme a resolverlo?
1 respuesta
Respuesta de Eduard Caballero
1