Nombre de UserForm Activo VBA Excel

Deseo saber el nombre de el UserForm Activo Para utilizarlo como una Variable.

¿Algo Asi No se?

If UserForm activo = Productos Then

   aquí código

 Else 

Aquí código

Tengo un listbox cargado con los datos de unos productos y lo que quiero es que al dar doble clic a algún elemento del listbox se ejecute ese código verificando que si esta abierto el userform "productos" ejecute un código, de lo contrario ejecute otro código.

3 respuestas

Respuesta
3

La instrucción Me. Name te indica cuál es el UF activo.

Porque 'visible' no necesariamente es estar activo. En imagen siguiente observa que tengo 2 UF visibles y con el código obtengo el del UF activo:

nbreUF = Me.Name
MsgBox nbreUF     'opcional: mostrar el nombre
Respuesta
2

Te anticipo que de Excel no tengo ni idea, pero por si te sirve, usaría

If Screen.ActiveForm.Name = "producto" Then
MsgBox "Este si es"

else

msgbox"Pues este no es"
End If

¡Gracias!   El codigo    If Screen.ActiveForm.Name = "producto" Then

Me arroja error dice se requiere objeto,

Lo solucione con el código

If Productos.Visible = True Then

  codigo

Else

Código

Muchas gracias por tu tiempo y tu pronta respuesta

Solo por curiosidad, si tengo el formulario(lo pongo para que veas que existe)

Y aprieto el botón(para poder ejecutar el If...)

También se podría utilizar

If currentproject.allforms("productos").isloaded then

....

end if

Que te comprueba si está cargado(abierto)

Respuesta
1

y porque no usas el modulo del formulario Private Sub UserForm_Activate()?, este modulo le indica a la macro que cada que el formulario se active se ejecute en automático, así te ahorras código al hacerlo en un modulo externo.

Private Sub UserForm_Activate()

llamar macro

end sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas