Que programación lleva cada que se agrega un nuevo campo o caja para ingresar datos

Espero puedan ayudarme :(, la persona de sistemas ya no se encuentra trabajando con nosotros y nos paso este archivo, estoy intentando modificara agregar nuevos campos para ingresar más datos hasta allí parece que esta bien( solo al agregar más cuadros para ingresar datos), pero ya en la programación no entiendo que código debe llevar o agregar

Es decir, en el ejemplo que adjunto, quiero agregar nuevos campos pero para que se inserten en la hoja de excel que programación lleva o que pasos debo agregar cada que se ingrese campo nuevo.

También mire que en algunos campos solo deja agregar números. Como puedo modificar para que me acepte en algunos números y otros letras

https://we.tl/kJRZJpH1ly

Cualquier ayuda es bienvenida.

1 Respuesta

Respuesta
3

Te anexo el código para agregar 2 campos nuevos

Además de agregar los textbox en el formulario:

Este sería el código actualizado para pasar los datos con los campos nuevos a la hoja

Private Sub CommandButton1_Click()
    Sheets("proveedores").Activate
    If TextBox2 = "" Or TextBox3 = "" Or TextBox5 = "" _
       Or TextBox15 = "" Or TextBox16 = "" Then
        MsgBox "Está dejando campos requeridos vacios favor complete", vbExclamation, "Almacen"
        TextBox3.SetFocus
    Else
        Range("A" & Cells.Rows.Count).End(xlUp).Offset(1).Select
        ActiveCell = TextBox2.Value                 'RUC
        ActiveCell.Offset(0, 1) = TextBox3.Value    'Nombre
        ActiveCell.Offset(0, 2) = TextBox5.Value    'dir
        ActiveCell.Offset(0, 3) = TextBox15.Value   'Tel
        ActiveCell.Offset(0, 4) = TextBox7.Value    'Tel2
        ActiveCell.Offset(0, 5) = TextBox13.Value   'contacto
        ActiveCell.Offset(0, 6) = TextBox14.Value   'cel
        ActiveCell.Offset(0, 7) = TextBox16.Value   'giro
        ActiveCell.Offset(0, 8) = TextBox17.Value   'campo nuevo 1
        ActiveCell.Offset(0, 9) = TextBox18.Value   'campo nuevo 2
        MsgBox "Proveedor ingresado exitosamente", vbInformation, "Servitap"
        TextBox2 = ""
        TextBox3 = ""
        TextBox5 = ""
        TextBox15 = ""
        TextBox7 = ""
        TextBox13 = ""
        TextBox14 = ""
        TextBox16 = ""
        TextBox17 = ""
        TextBox18 = ""
        TextBox2.SetFocus
    End If
End Sub

Para esta parte:

También mire que en algunos campos solo deja agregar números. Como puedo modificar para que me acepte en algunos números y otros letras

Podrías especificar en cuál te acepta solamente números y quieres agregar letras.


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Muchas gracias por tu respuesta, ¿entonces seria cada que agregue un nuevo campo agrego solo esta parte del código? ¿Claro con su textbox correspondiente no? ¿Esa parte del código me inserta la información en la hoja de excel?

ActiveCell.Offset(0, 8) = TextBox17.Value 'campo nuevo 1

ActiveCell.Offset(0, 9) = TextBox18.Value 'campo nuevo 2

Los campos que solo permite letras son estos teléfono fijo 1

Teléfono fijo 2

Celular contacto,

¿Por ejemplo si en esos 3 campos necesito letras o viceversa en otros campos solo números que procedimiento seria?

De nuevo agradezco todo tu apoyo


                    

Así es, para campos nuevos tienes que agregar código similar esto:

        ActiveCell.Offset(0, 8) = TextBox17.Value   'campo nuevo 1
        ActiveCell.Offset(0, 9) = TextBox18.Value   'campo nuevo 2

Los datos se agregarán en las columnas de la derecha.


Estos textbox 7, 15 y 14 te permiten solamente números por estas rutinas:

Private Sub TextBox7_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'TELEFONO FIJO2   
   If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub TextBox15_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'TELEFONO FIJO 1
   If KeyAscii < 45 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub TextBox14_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'CELULAR CONTACTO
   If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Si quieres insertar letras, por ejemplo en el Teléfono fijo2, entonces borra este código:

Private Sub TextBox7_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'TELEFONO FIJO2   
   If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Si quieres solamente números en, por ejemplo, el campo nuevo1, entonces agrega estas líneas:

Private Sub TextBox17_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'CAMPO NUEVO 1
   If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Al final de mi respuesta hay un botón para valorar mi respuesta. No olvides valorar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas