Saltar al contenido

Mostrar en combobox hoja oculta


Recommended Posts

publicado

como estan , tengo un libro, el cual esta compuesto por varias hojas, (8).

al abrir el archivo de excel se abre un userform que contiene un combobox con el listado de hojas cargado

necesito ocultar las hojas 2,3,4,5,6, y que al seleccionar por ejemplo la hoja4 en el combobox , se pueda ver y trabajar en ella. y al salir de la hoja4 se vuelva a ocultar. gracias envió archivo ejemplo

busca hojas.zip

publicado

Sustituye tu código por este:

Dim Hoja As Worksheet

Private Sub ComboBox1_Click()
Application.ScreenUpdating = False
Sheets(ComboBox1.Text).Visible = True
For Each Hoja In Worksheets
If Not Hoja.Name = ComboBox1 Then
Sheets(Hoja.Name).Visible = False
End If
Next
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
For Each Hoja In Worksheets
ComboBox1.AddItem Hoja.Name
Next
End Sub
[/CODE]

publicado

muy bien, pero necesito que por favor la hoja1 y la hoja8 siempre esten visibles , las demas hojas ocultas, cuando el combobox se abre con el listado de las hojas ocultas........... la hoja que seleccione como por ejemplo la hoja3 me envie a ella para poder trabajar y que al cambiar de hoja mediante un botton1(que me envia a la hoja1), esta se cierre (hoja3) y me guarde los cambios, he practicado mucho, pero veo que me falta demaciado......gracias por su colaboracion

2 busca hojas.zip

publicado
muy bien, pero necesito que por favor la hoja1 y la hoja8 siempre esten visibles , las demas hojas ocultas, cuando el combobox se abre con el listado de las hojas ocultas........... la hoja que seleccione como por ejemplo la hoja3 me envie a ella para poder trabajar y que al cambiar de hoja mediante un botton1(que me envia a la hoja1), esta se cierre (hoja3) y me guarde los cambios, he practicado mucho, pero veo que me falta demaciado......gracias por su colaboracion,

todas las hojas ocultas tienen el botton1, para que me envien a la hoja1

publicado

amigo tengo este combobox en la hoja1 con el listado de hojas ocultas, cuando selecciono la hoja3 por ejemplo.........este me envia sin prolemas hasta la hoja, pero cuando regreso a la hoja1 (por medio de un boton) , el combobox muestra la ultima seleccion ( en este caso la hoja3) pero si vuelvo a seleccionar esta misma hoja3 no hace nada, tengo que seleccionar otra hoja y despues de esto, si puedo vollver a seleccionarla (hoja3). no se si sea la solucion .....pero cuando regrese a la hoja1 encontrar el combobox en blanco.....no se si sea necesario.........este es el codigo y el archivo

Private Sub UserForm_Initialize()

ComboBox1.RowSource = "hoja1!"

End Sub

Private Sub ComboBox1_Change()

On Error Resume Next

Application.ScreenUpdating = False

Dim fila, ran, gosheet As String

Dim i As Integer

Dim hoja As Worksheet

x = 0

fila = 1

For Each hoja In Worksheets

x = x + 1

'Escribe el nombre de la hoja en la columna Z

Worksheets("Hoja1").Cells(fila, 26) = hoja.Name

fila = fila + 1

Next

'Creo el rango

ran = Range("Z1", Range("Z1").End(xlDown)).Address

'Lleno listbox con nombre de hojas

ComboBox1.ListFillRange = ran

gosheet = ComboBox1

'Selecciono la hoja

Sheets(gosheet).Select

Application.ScreenUpdating = True

If hoja1.ComboBox1.Value = "Hoja1" Then

hoja1.Visible = True

Else

hoja1.Visible = True

End If

If hoja1.ComboBox1.Value = "Hoja2" Then

Hoja2.Visible = True

Else

Hoja2.Visible = False

End If

If hoja1.ComboBox1.Value = "Hoja3" Then

Hoja3.Visible = True

Else

Hoja3.Visible = False

End If

If hoja1.ComboBox1.Value = "electri" Then

electri.Visible = True

Else

electri.Visible = False

End If

End Sub

Private Sub Worksheet_Activate()

hoja1.Visible = True

Hoja2.Visible = False

Hoja3.Visible = False

electri.Visible = False

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

vincular hoja.zip

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.