Macro para ocultar o mostrar hoja en base a una validación de datos

Buenas tardes, me gustaría que me pudieran ayudar en una macro para ocultar o mostrar hojas de excel. La idea es que tengo libro, el cual su primera hoja seria un indice, el cual tiene el nombre de cada hoja de mi libro de excel.

En mi indice valido cada encabezado de hoja con un "SI" o "NA". Quisiera que si pongo "SI" me muestre la hoja correspondiente, y si pongo "NA" me la oculte. Espero me aya hecho entender.

Saludos y gracias

1 Respuesta

Respuesta
1

Voy a suponer que el índice de hojas está en col A y el valor que ingreses será en col B.

Entrá al Editor, seleccioná con doble clic el objeto HOJA donde estará tu índice y colocá esta macro:

Lo que hace es controlar lo ingresado en rango B2:B10, si es SI muestra la hoja y si es NO la oculta de tal modo que no pueda mostrarse desde el menú Formato.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'controla celdas en rango B2:B10 -ajustar
rgo = "B2:B10"
'si la celda cambiada no está en ese rango no ejecuta el control
If Intersect(Target, Range(rgo)) Is Nothing Then Exit Sub
'se evalúa el valor ingresado y según eso se actúa sobre la hoja
'que está en col A de la misma fila
hojita = Range("A" & Target.Row)
If Target.Value = "SI" Then
Sheets(hojita).Visible = True
ElseIf Target.Value = "NO" Then
Sheets(hojita).Visible = xlVeryHidden
End If
End Sub

Si todo quedó comprendido y resuelto no olvides finalizar la consulta. También recordá de indicar tu versión Excel al realizar una consulta

Sdos

Elsa

http//aplicaexcel.galeon.com/manuales.htm

Muchas gracias me sirvió a la perfección, y sobre todo la comprendí. Y gracias por el consejo de la version.

Saludos y que tengas buen dia.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas