Cargar listbox con datos de hoja oculta

Acudo a uds. Para pedir su ayuda con lo siguiente: tengo un formulario con un listbox que se carga de una hoja el problema es cuando oculto dicha hoja, como puedo hacer para que me muestre los datos con la hoja oculta, adjunto el macro que estoy utilizando.

Saludos

Private Sub UserForm_Initialize()

Application.ScreenUpdating = False

Sheets("productos").Activate

Range("b2").Select Do While ActiveCell.Value <> ""

ListBox1.AddItem ActiveCell

i = ListBox1.ListCount - 1

ListBox1.List(i, 0) = ActiveCell.Offset(0, -1)

ListBox1.List(i, 1) = ActiveCell.Offset(0, 1)

ActiveCell.Offset(1, 0).Select

Loop

Range("a2").Select

Application.ScreenUpdating = True
End Sub

1 respuesta

Respuesta
2

Siempre indica tu versión Excel en la consulta, porque x ej en la versión 2010 no tengo problemas de cargar el desplegable con la hoja oculta.

Si te presenta algún error, deberás mostrarla y volverla a ocultar luego de la carga del desplegable. Agregá las líneas de negrita (ajustá el nombre de tu hoja).

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Sheets("Hoja1").Visible = True
Sheets("Hoja1").Activate

Y luego del loop la volvés a ocultar:

Loop
Sheets("Hoja1").Visible = xlVeryHidden

Muchas gracias Elsa por tu respuesta;

Efectivamente es excel 2010 el que tengo, no sabía que puede haber alteraciones con los macros por las diferentes versiones de excel, con relación al macro original, pues no me marca error y llena el listbox lo que sucede y no se si es normal es que si el botón para mostrar el userform esta en una determinada hoja, después de mostrar el userform me muestra otra hoja y no la hoja desde donde la ejecuté, ¿es posible arreglar esto? una situación importante para mi, es que yo ejecuto el userform no solo desde una hoja sino también desde otras y quisiera que permanezca sobre la hoja desde donde la ejecute.

Muchas gracias por tu ayuda

saludos

¿Esa no era la pregunta original... qué tiene que ver entonces la hoja oculta?

El nuevo tema entonces sería: como permanecer en la misma hoja al ejecutar un UF.

Antes de llamarlo declará en una variable pública (que la vas a definir en un módulo) esta línea:

miHoja = activeSheet.name

En el evento Initialize ya veo que tenés la instrucción que hace que no veas el cambio de hojas, pero luego seguramente tendrás que volver a activar la tuya por las dudas que tengas instrucciones del tipo: ActiveSheet.

Entonces luego de la carga del desplegable volvé a tu hoja con:

Sheets(miHoja).select

No vas a ver ningún movimiento ni al salir ni al entrar pero te asegurás de tener activa la hoja desde la cual llamaste al UF.

Sdos. Y si resulta que tampoco era esto sino algo parecido... pues finaliza esta y deja una nueva y con mucho gusto seguiremos allí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas