Ver hoja de Excel en listbox con Condición de Combobox

Expertos necesito nuevamente de sus ayuda, tengo un formulario con un combobox y botón y un listbox, lo que necesito es que cuando seleccione el nombre de la hoja en el combobox y al presionar el botón me muestre la hoja que seleccione en el listbox, las hojas siempre están ocultas es para que nadie pueda manipular la info y solo verlas en el listbox.

1 respuesta

Respuesta
2

Pon lo siguiente en tu formulario, no es necesario el botón.

Para cargar las hojas en el combo

Private Sub UserForm_Activate()
'Por.Dante Amor
    For Each h In Sheets
        ComboBox1.AddItem h.Name
    Next
End Sub

Para que solamente puedan elegir un dato del combo y no puedan capturar una hoja que no exista:

Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = 0
End Sub

Cuando selecciones una hoja del combo, en automático te carga en tu listbox la información de la hoja seleccionada

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ListBox1.Clear
    Set h = Sheets(ComboBox1.Value)
    uc = h.[A1].SpecialCells(xlLastCell).Column
    uf = h.[A1].SpecialCells(xlLastCell).Row
    ListBox1.ColumnCount = uc
    ListBox1.List = h.Range(h.[A1], h.Cells(uf, uc)).Value
End Sub

Saludos.Dante Amor

Gracias Experto! Pero como podría elegir solo ciertas hojas en el combobox y no todas del libro?

Prueba con lo siguiente, pon los nombres de las hojas que quieras agregar

Private Sub UserForm_Activate()
'Por.Dante Amor
    For Each h In Sheets
        Select Case h.Name
            Case "hoja1", "hoja2", "hoja3"
                ComboBox1.AddItem h.Name
        End Select
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas