Variables publicas

Help, no logro que la variable publica sea aplicada a formularios de excel, a continuaci{on te presento el código:
Apartado de declaraciones generales
Public usuario
apartado de
Private Sub CommandButton1_Click()
    If TextBox2 <> clave2 Then
        MsgBox "Clave erronea, verifique", vbCritical, "Error de Captura"
            TextBox2 = ""
            TextBox2.SetFocus
    Else
    Unload Me
    Load Principal
    Principal.Show
    End
    usuario = "Patricia"
    End If
La validación de la clave si es correcta, el problema es hacer que el contenido de la variable usuario sea colocado en formularios siguientes para saber quien esta usando el programa y grabarlo en un registro de excel para efectos de saber quien capturo el dato.
No logro que de la pantalla donde se captura el usuario pase a los siguientes formularios y mucho menos que se grabe en registro
a la variable usuario le estoy asignando la palabra Patricia que deseo se visualice en los formularios, pero no logro hacerlo
mi correo electronio es: [email protected]
si me puedes ayudar te lo voy agradecer.
Saludos.

1 Respuesta

Respuesta
1
Ok, lo que no tienes que hacer es poner el "Private Sub" - Eso obliga a que los valores de las variables incluidas en el procedimiento, sean privadas (no la variable en si, sino solo el valor)... tienes que pone "Public Sub" y creo que con esto, estará arreglado el problema...
En caso contrario, avisame y lo vuelvo a repasar...
Hola:
Hice lo que me comentaste y aún así no queda:
Te mando el código para que analices.
Este formulario se llama clave
Declaraciones generales
Public usuario
Public Sub CommandButton1_Click()
If TextBox2 = "1" Then
    Load Principal
    usuario = TextBox1
    Principal.Show
End If
End Sub
Public Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
usuario = TextBox1
'Label1 = usuario
End Sub
este formulario se llama prinicipal
Declaraciones generales
Public usuario
Public Sub UserForm_Activate()
Label1 = usuario
End Sub
En espera de tu pronta respuesta, gracias.
Saludos...
Aunque no he comprobado el tema de la variable pública, considero que no merece la pena perder más tiempo si tu ya lo has investigado, así que he tratado de buscar la mejor solución posible.- Te la cuento:
-Se trata de jugar con las propiedades internas del Excel.- El truco consistiría en grabar el usuario "activo" en una propiedad interna del archivo excel, con lo cual, lo puedes leer en cualquier momento, e incluso saber quien ha sido el último usuario en utilizalo, ya que las propiedades no se pierden al cerrar el libro.
Aquí te expongo el código necesario para tales operaciones:
Private Sub Button1_click()           'Da igual si pones Public Sub...
'Creamos la variable con el valor del usuario
ThisWorkbook. CustomDocumentProperties. Add "Propiedad_creada_por_ti", false, msoPropertyTypeString, usuario 'Usuario sería el valor de texto del textbox1
' En otro apartado, formulario, o lo que desees, puedes leer el valor de la variable con esto:
   ThisWorkbook.CustomDocumentProperties("Usuario").value
End Sub
- No he encontrado la forma de borrar la variable, pero la puedes asignar valor nulo, y es como si estuviese borrada.
- También puedes ver la variable creada, directamente desde la hoja de cálculo, en el menú "Archivo->Propiedades", y luego en la pestaña "Personalizar".
- Otra ventaja de este sistema, es que puedes utilizar el sistema de "WorkBook" para establecer permisos, dejarlo solo como "de lectura" para un usuario concreto, o denegar el acceso, todo mediante las propiedades del "WorkBook" -> Aquí te envío una relación de estas propiedades <-
En fin, espero que esta solución te guste y sea buena para tu proyecto...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas