Saltar al contenido

Control de texto de textBox en un userform

publicado

Muy buenas, a ver si alguien puede ayudarme

en la captura de datos en un userform, quisiera controlar la longitud de un campo, pero no se donde poner la instruccion, que he visto en uno de los hilos. Lo que tengo es esto:
 

Private Sub CommandButton1_Click()

Dim fila As Long

'Obtener la fila disponible
fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1

'Insertar datos capturados
    Cells(fila, 1).Value = UserForm1.ComboBox1.Value
    Cells(fila, 2).Value = UserForm1.ComboBox3.Value
    Cells(fila, 3).Value = UserForm1.TextBox3.Value
    Cells(fila, 4).Value = UserForm1.TextBox4.Value
    Cells(fila, 5).Value = UserForm1.TextBox5.Value
    Cells(fila, 6).Value = UserForm1.ComboBox2.Value
    Cells(fila, 7).Value = UserForm1.ComboBox4.Value
    Cells(fila, 8).Value = UserForm1.TextBox8.Value
    Cells(fila, 10).Value = UserForm1.TextBox9.Value
    Cells(fila, 11).Value = UserForm1.TextBox11.Value
    Cells(fila, 13).Value = UserForm1.TextBox12.Value
    Cells(fila, 12).Value = UserForm1.ComboBox5.Value
    Cells(fila, 16).Value = UserForm1.TextBox10.Value
     
'Limpiar cajas de texto
    UserForm1.ComboBox1.Value = ""
    UserForm1.ComboBox3.Value = ""
    UserForm1.TextBox3.Value = ""
    UserForm1.TextBox4.Value = ""
    UserForm1.TextBox5.Value = ""
    UserForm1.ComboBox2.Value = ""
    UserForm1.ComboBox4.Value = ""
    UserForm1.TextBox8.Value = ""
    UserForm1.TextBox9.Value = ""
    UserForm1.TextBox10.Value = ""
    UserForm1.TextBox11.Value = ""
    UserForm1.TextBox12.Value = ""
    UserForm1.ComboBox5.Value = ""
 
    'Notificar al usuario
    MsgBox "Dades afegides a la fila " & fila


End Sub

es decir, actualizo la base de datos con el valor introducido en cada textbox. 

 

muchísimas gracias de antemano

 

Featured Replies

publicado
Hace 21 minutos , Pako_Jones dijo:

en la captura de datos en un userform, quisiera controlar la longitud de un campo

Pero en cuál ¿En todos?

publicado
  • Autor

Disculpa, solo en uno de ellos

gracias

publicado
  • Autor

concretamente, en el textbox3

publicado

If len(textbox3)>5 then msgbox "El textbox es mayor que 5"

publicado
  • Autor

Muchas gracias Antoni, pero soy novatillo, y no veo como insertar la sentencia. he probado esto:
If Len(TextBox3) <> 10 Then MsgBox "El codi d'article ha de tenir 10 dígits" Else UserForm1.TextBox3.Value = ""
me sale el mensaje pero me añade el dato igualmente

abrazo!

publicado

Sube un archivo con el formulario y explica que pretendes hacer.

publicado
  • Autor

Antoni, es un formulario para añadir datos en una lista y lo que queria controlar es que no se añadan si ese campo tiene una longitud diferente de 10 caracteres, en concreto el campo "Artícle"

muchas gracias

 

Control Subv.xlsm

publicado
  • Autor

Genial Antoni, muchísimas gracias por tu ayuda
un abrazo!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.