Como crear un userform donde pueda ingresar varias filas a la vez

Saludos.

He creado un formulario con varios textbox donde pongo fecha, código, nombre, descripción, cantidad y esto lo guardo en una base de datos.

La ayuda que necesito saber, es como ingresar varios códigos, nombres, cantidades, donde solo la fecha y la descripción son una sola.

De antemano gracias por la ayuda

1 respuesta

Respuesta
1

Seguramente luego de pasar los datos a la hoja, limpias los controles.

Entonces una opción simple es que no limpies esos 2 (fecha y descripción) y sigas llenando el resto. En caso de cambios se sobreescriben.

Si tenés una macro para limpiar los controles hay que establecer la condición, en ese caso déjamela escrita aquí para ajustarla.

Comentame si esto resuelve tu problema.

Otra opción:

Que el resto de los textbox alimenten un control Listbox. Al pasar al listbox se limpian solo ésos. Al pasar a la hoja se pasan los 2 textbox y el listbox limpiándose todos los controles.

Seguramente tomarás la idea más práctica para tu caso.

PD) Te invito a descargar la demo de mi manual de Formularios, allí encontrarás algunos temas y modelos para imitar.

Gracias por la ayuda lo que hice fue crear un formato en una hoja donde pongo la fecha, el numero de documento, el solicitante "Celdas Fijas".
luego utilizo 4 culumnas con el código, nombre, cantidad y costo, con filas donde ingreso los datos utilizando los siguientes códigos
Sub DATOSCLIENTE()
'COPIA DATOS DEL CLIENTE A LA HOJA Facturación
Sheets("Salidas").Range("L6").Copy
Sheets("out").Range("A5").Insert Shift:=xlDown
Sheets("Salidas").Range("L8").Copy
Sheets("out").Range("B5").Insert Shift:=xlDown
Sheets("Salidas").Range("N8").Copy
Sheets("out").Range("C5").Insert Shift:=xlDown
Application.CutCopyMode = False
End Sub
Sub PARAR()
MsgBox ("LA REFERENCIA O LA CANTIDAD NO PUEDE SER NULA")
End
End Sub
Sub ARTICULO1()
'lleva a facturación
If Range("B12") = 0 Or Range("B13") = 0 Or Range("B14") = 0 Or Range("B15") = 0 Then
PARAR
Else
DATOSCLIENTE
Sheets("Salidas").Range("K12:N12").Copy
Sheets("out").Range("D5").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K13:N13").Copy
Sheets("out").Range("D6").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K14:N14").Copy
Sheets("out").Range("D7").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K15:N15").Copy
Sheets("out").Range("D8").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K16:N16").Copy
Sheets("out").Range("D9").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K17:N17").Copy
Sheets("out").Range("D10").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K18:N18").Copy
Sheets("out").Range("D11").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K19:N19").Copy
Sheets("out").Range("D12").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K20:N20").Copy
Sheets("out").Range("D13").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K21:N21").Copy
Sheets("out").Range("D14").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K22:N22").Copy
Sheets("out").Range("D15").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K23:N23").Copy
Sheets("out").Range("D16").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K24:N24").Copy
Sheets("out").Range("D17").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K25:N25").Copy
Sheets("out").Range("D18").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K26:N26").Copy
Sheets("out").Range("D19").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K27:N27").Copy
Sheets("out").Range("D20").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K28:N28").Copy
Sheets("out").Range("D21").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K29:N29").Copy
Sheets("out").Range("D22").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K30:N30").Copy
Sheets("out").Range("D23").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K31:N31").Copy
Sheets("out").Range("D24").Insert Shift:=xlDown
DATOSCLIENTE
Sheets("Salidas").Range("K32:N32").Copy
Sheets("out").Range("D25").Insert Shift:=xlDown
Application.CutCopyMode = False
End If
End Sub
Ahora tengo un problema que me copia las filas vacías, como puedo hacer para que se detenga en la siguiente fila vacía.
Gracias por la atención

Disculpa, ¿pero de qué estábamos hablando?

Tu consulta dice: 'Como crear un userform donde pueda ingresar varias filas a la vez...

¿Y ahora resulta que se trata de una hoja?

Mis 2 respuestas son correctas para tu consulta (un Userform)... si ahora cambiaste de idea, por favor finaliza esta consulta y deja la nueva con los nuevos detalles en el tablón y con mucho gusto la 'repensaré' para la nueva situación.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas