Asterisco en rojo al lado de TextBox

Estoy creando un formulario de registro de datos en excel, con varios TextBox, pero me gustaria agregar al lado de cada uno de ellos, que mostrará un asterisco rojo "*" cuando está vacía, y un "OK" cuando se ha llenado. Esto seria al lado de cada TextBox que son en total Nueve

2 Respuestas

Respuesta
1
{"lat":22.155151,"lng":-100.9639331}

Te recomiendo colocar una etiqueta al lado de cada caja de texto y añadir el siguiente código en el evento Change de cada una, también te puede ser útil para validad que ninguna caja se quede vacía.

Private Sub TextBox1_Change()
    If (TextBox1.Text) = "" Then
        Label1.Caption = "*"
        Label1.ForeColor = vbRed
    Else
        Label1.Caption = "Ok"
        Label1.ForeColor = vbBlack
    End If
End Sub
Respuesta
1

Creo tener la respuesta. Te explico: a cada textbox le debes asociar una label en la cual se escribirá el "*" o el "ok". Para que cuando inicie la userform siempre aparezca esto debes usar el evento "activate". Quedaría así

Private Sub Userform_Activate()

If textbox1.value = "" then 

   Labelx.forecolor = &HFF&

   Labelx.caption = "*" 

End if

...

If textboxn.value = "" then 

   Labely.forecolor = &HFF&

   Labely.caption = "*" 

End if

End sub

Dentro de esta van todos los textbox que deseas usar con sus respectivas label que tienen asociadas.

Después de esto, en cada textbox usando el evento change usarás el siguiente código

Private Sub Textboxn_Change()

If textboxn.value <>"" then 

    Labeln.forecolor = &HFF0000

    Labeln.caption = "OK" 

Else 

    Labeln.forecolor = &HFF&

    Labeln.caption = "*"

End if 

End sub

Lo mismo para cada uno de los textbox.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas