H o l a: Te anexo el código para cargar los 2 combos. Entiendo que ya tienes el código para cargar los 2 combos, pero te anexo la actualización.
1. Para cargar las hojas en el combo1, pon lo siguiente en el evento initialize. En el ejemplo puse la hoja5 y la hoja6 en un case para que no aparezcan en el combo, lo puse así, por si decides que no todas las hojas se deben cargar; si quieres que se carguen todas las hojas, simplemente quítalas de la línea.
Private Sub UserForm_Initialize()
'Por.Dante Amor
For Each h In Sheets
Select Case LCase(h.Name)
Case "hoja5", "hoja6" 'no carga la hoja5 ni la hoja6 en el combo
Case Else
ComboBox1.AddItem h.Name
End Select
Next
End Sub
2. Tienes que quitar tu evento "ComboBox2_Enter" , vamos a cargar el combobox2 con el evento Combobox1.change, es decir, cuando selecciones una hoja en el combo1, en automático se cargará el combo2
Private Sub ComboBox1_Change()
'Act.Por.Dante Amor
ComboBox2.Clear
'Revisa si seleccionó una hoja del combobox1
If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then
Exit Sub
End If
'
'guarda en hoja el nombre de la hoja
hoja = ComboBox1.List(ComboBox1.ListIndex)
'empieza en al fila 4 hasta que ya no haya datos en la columna B
fila = 4
Do While Sheets(hoja).Cells(fila, "B").Value <> ""
ComboBox2.AddItem Sheets(hoja).Cells(fila, "B").Value
fila = fila + 1
Loop
End Sub
3. Para actualizar el label, pon el evento Combobox2_Change, de esta forma cuando selecciones un dato del combo2, en automático se actualizará el label y la celda H7 de la hoja5
Private Sub ComboBox2_Change()
'Por.Dante Amor
Label1.Caption = ""
'Revisa si seleccionó un dato del combobox2
If ComboBox2.Value = "" Or ComboBox2.ListIndex = -1 Then
Exit Sub
End If
'
hoja = ComboBox1.List(ComboBox1.ListIndex)
fila = ComboBox2.ListIndex + 4
Label1.Caption = Sheets(hoja).Cells(fila, "D")
Sheets("Hoja5").Range("H7").Value = Sheets(hoja).Cells(fila, "D")
End Sub
Realiza los cambios en tu formulario.
De la forma en que está programado, no es necesario cambiarse de hoja, por lo tanto no hay movimiento de las hojas ni de las celdas.
Avísame cualquier duda.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias