Macro en Combo Box, para mostrar datos de otra hoja

Escribí una macro en un combo box la cual muestra datos provenientes de otra hoja, pero al guardar los datos y querer salir del formulario, Excel me manda a la hoja donde se encuentra los datos.

El código es el siguiente:

Private Sub UserForm_initialize ()

Application.ScreenUpdating = False

Sheets("proyectos").Select
Range("B10").Select
While ActiveCell <> Empty
PROYECTO.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

End Sub

¿Cómo puedo evitar que haga eso y cargue los datos sin mostrar el cambio de hoja?

2 respuestas

Respuesta
1

En tu macro estás indicando que seleccione una hoja para luego llenar el combobox.

Para que no se vea esta selección, agrega al inicio esta otra instrucción, que impide que se vea el movimiento de hojas.

Application.ScreenUpdating = False

Pero recordá que sigue estando como hoja activa. Por lo tanto, salvo que luego en alguna otra subrutina cambies de hoja, al cerrar el formulario se mostrará la de 'proyectos'.

Por lo tanto, otro modo de llenar el combo sin necesidad de ir a la hoja 'proyectos' sería de este modo:

Private Sub UserForm_initialize()
'x Elsamatilde
Application.ScreenUpdating = False
i = 10                    'primera fila del rango a mostrar en desplegable
With Sheets("proyectos")   'sin necesidad de ir a la hoja
    While .Cells(i, 2) <> Empty
        ComboBox1.AddItem .Cells(i, 2)
        i = i + 1
    Wend
End With
End Sub

*Te recomiendo el video N° 19 de mi canal: Bucles dentro de otro bucle

Respuesta
1

Utiliza lo siguiente para cargar el combo. No es necesario seleccionar la hoja.

Private Sub UserForm_initialize ()

ComboBox.List =Sheets("proyectos").Range("B10",Sheets("proyectos").Range("B" & rows.count).end(3)).value

End Sub

Recomendable:

https://youtu.be/PupmVvM16-8 

Sal u dos Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas