Habilitar CommandButton dependiendo de condición

Estimado experto, tengo el siguiente caso:

Tengo un form con 4 text y tres command el primer command en estado visible true y los otros dos en visible false. Cuando ingreso un usuario en text 1 los otros text se rellenan con los datos alimentados de un BD hasta ahi todo bien. Pero lo que quiero ahora es que cuando solamente ingrese mi usuario AMEZAMUNOZ, la rutina identifique mi usuario y haga visible los dos command restantes. Pregunto en que parte de la programación se ingresa las lineas

CommandButton2.Visible = True

CommandButton3.Visible = True

Les adjunto la programación Gracias por su ayuda

Private Sub TextBox1_Change()

TextBox1 = UCase(TextBox1)

Sheets("Usuarios").Range("B1").Value = TextBox2.Text

Set V = Sheets("Usuarios").Cells.Find(TextBox1.Value, , , xlWhole)

If Not V Is Nothing Then 'Si lo encuentra...

TextBox2.Value = Sheets("Usuarios").Range(V.Address).Offset(0, 1).Value

TextBox3.Value = Sheets("Usuarios").Range(V.Address).Offset(0, 2).Value

TextBox4.Value = Sheets("Usuarios").Range(V.Address).Offset(0, 3).Value

Sheets("Transacciones_STC").Range("A36") = TextBox1

Sheets("Transacciones_STC").Range("A37") = TextBox2

Sheets("Transacciones_STC").Range("A38") = TextBox3

Sheets("Transacciones_STC").Range("A39") = TextBox4

Else 'Si no lo encuentra...

TextBox2 = ""

TextBox3 = ""

TextBox4 = ""

Exit Sub

MsgBox "El usuario no existe en la Base de Datos", vbCritical + vbOKOnly, "Optimiza"

End If

TextBox2 = UCase(TextBox2)

TextBox2.Locked = True

TextBox3.Locked = True

TextBox4.Locked = True

End Sub

1 respuesta

Respuesta
1

No se lee bien en partes pero recuerdo la consulta.

Veo que aquí no estamos hablando de frames sino de commandbutton, entonces en el evento Initialize ocultá aquellos que no deben verse:

Private Sub UserForm_Initialize()
CommandButton2.Visible = False
CommandButton3.Visible = false

End Sub

Yo te cambié el evento Change por Exit.... en el mail expliqué xq lo hago:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = UCase(TextBox1)

IF TEXTBOX1 = "AMEZAMUNOZ" THEN

commandbutton2.visible = true

commandbutton3.visible = true

end if

'aquí sigue tu rutina, pero el Exit vá después del mensaje de que no lo encontró

Sdos

Elsa

http://aplicaexcel.galeon.com/manual_excel2010.htm

Elsa !!!!

Gracias como siempre exacta la respuesta... si inicialmente era el frame con tres command pero viendo después no encontraba sentido ya que con cualquier usuario mostraba el frame, por eso de allí el cambio a que solo con mi usuario muestre los command para poder dar mantenimiento. Gracias nuevamente...

Alberto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas