Como permanecer en la misma hoja al ejecutar UF

Hola amigos:

tengo la siguiente pregunta: tengo un userform con un listbox que obtiene los datos de una hoja que se encuentra oculta, el problema es que al momento de abrir cambia la hoja desde donde fue ejecutada, y lo que quiero es que se quede en esa misma hoja, el macro que utilizo es la siguiente:

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

¿Se puede modificar esta o si existe alguna otra?, debo indicar que el mismo userform lo ejecuto desde distintas hojas.

saludos

1 Respuesta

Respuesta
1

Si el mismo UF lo ejecutás desde distintas hojas hacé lo siguiente:

- Al inicio del Useform colocá una variable pública:

Public miHoja as string

- En el evento Initialize guardá la hoja activa, es decir la hoja desde donde estás llamando al UF:

Private Sub UserForm_Initialize()

miHoja = activeSheet.name
Application.ScreenUpdating = False

Sheets("productos").Activate 'aquí estás cambiando de hoja (no ves el movimiento por la instrucción anterior)

'...................

luego del bucle deberás volver a tu hoja

sheets(miHoja).select

Application.ScreenUpdating = True
End Sub

Sdos

Elsa

http://aplicaexcel.galen.com/manuales.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas