Codigo Vba para UserForm Excel

Favor les pido ayuda en la postulación de un código, es para un botón de búsqueda en un userform y al activar la función destacada en negrita, me arroja un error.

Desde ya, muchas gracias!

Application.ScreenUpdating = False
Sheets("BaseDatos").Activate
[A3].Activate

TextBox1 = String(4 - Len(TextBox1), "0") & TextBox1

Do While ActiveCell <> TextBox1
ActiveCell.Offset(1, 0).Activate
If ActiveCell = Empty Then
MsgBox "Folio No Existe", vbCritical, "E R R O R"
Consulta2.TextBox1 = Empty
Consulta2.TextBox1.SetFocus
Consulta2.Show
Exit Sub
End If
Loop

1 Respuesta

Respuesta
2

H o  l a:

El error es porque la longitud de caracteres que tienes en el textbox1 es mayor a 4, entonces si en el texbox1 tienes, por ejemplo: "22344", la longitud es 5

Luego en la fórmula tienes:

String(4 - Len(TextBox1), "0")

String(4 - 5, "0")

String(-1, "0")

Y ese es el problema, estás intentando llenar menos un carácter, y eso no es posible.


Supongo que quieres rellenar el textbox1 con ceros a la izquierda.

Puedes realizar lo siguiente, si la longitud máxima que quieres en el texbox1 es de 10:

TextBox1 = Format(TextBox1, "0000000000")

Si capturas en el textbox1: "123"

El resultado en el textbox1 será: "0000000123"


Tienes que establecer cuál es la longitud máxima del textbox1, para que no capturen más de lo que debe llevar.

Por ejemplo en la propiedad MaxLength, puedes poner 10.


Si no es lo que necesitas, explícame con un ejemplo que quieres capturar y que resultado esperas en el textbox.


':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas