Ingresar datos comunes según las textbox que estén en uno.

Tengo un formulario en Excel para ingresar material malo. Los ingresos son diarios y tienen datos “comunes” como la fecha, el turno y el material. Tengo 10 textbox que le pertenecen al tipo de fallo del material por lo que si el fallo corresponde colocó la cantidad de material en el textbox, Lo que no sé cómo realizar es al momento de pegar los datos en mi base de datos (hoja llama DB_Scrap) es como ingresar los registros del material con fallo, es decir si existen de esos 10 tipos que tengo solo 4 ingresados como copiar esos 4 datos pero a su vez ingresar los datos “comunes” al registro. Ojalá pueda ayudarme Sr. Dante

1 Respuesta

Respuesta

Puedes explicar un ejemplo con datos reales, utilizando imágenes de lo que tienes en el userform, qué tienes en la hoja y qué resultado esperas.

Procura que se vean las filas y las columnas de la hoja de excel.

Mil gracias por responder no sabe lo atorado que estoy

, ojala pueda ayudarme, estaré eternamiente agradecido

Tengo el siguiente formulario, con datos "generales" como Fecha, #Numero de parte, Registrado por, turno, piezas buenas piezas de prueba

Y tengo campos específicos para las piezas malas (números), que irán variando según el material encontrado y una auto suma que aparecerá en el campo "piezas nok total" los cuales son

txt100

txt110

txt120

txt130

txt140

txtot (para el campo de otros)

Ya se como pegar los datos en una hoja empezando de esta manera

.Cells(NewRow, 1).Value = txtfecha (fecha)
.Cells(NewRow, 2).Value = labelitem (numero de registro)
.Cells(NewRow, 3).Value = cmbturno (turno)
.Cells(NewRow, 4).Value = cmbreg (registrado por)
.Cells(NewRow, 5).Value = cmbpart (numero de parte)
.Cells(NewRow, 6).Value = txtprod (piezas buenas)
.Cells(NewRow, 7).Value = txtpru (piezas de prueba)
.Cells(NewRow, 8).Value = txtnok (piezas malas, columana para las txt100,txt110, etc)
Mi duda esta en que si por ejemplo, ingreso datos en los txt10, txt20 (según sea el caso) me copie la descripción y copie los datos generales. Es decir si ingreso en txt100 y txt110 me copie dos registros uno en una fila para el txt100 y en otra fila para la txt110 según sea el caso.

Y si se ingresa un 3 en el txtot (otros) pregunte que "otro" tipo de registro se refiere, según el numero que se ingreso.

Revisa el siguiente ejemplo:

Private Sub CommandButton1_Click()
    If txt100.Value <> "" Then Call Pegar_Datos(txt100)
    If txt110.Value <> "" Then Call Pegar_Datos(txt110)
    If txt120.Value <> "" Then Call Pegar_Datos(txt120)
    If txt130.Value <> "" Then Call Pegar_Datos(txt130)
    If txt140.Value <> "" Then Call Pegar_Datos(txt140)
    If txtot.Value <> "" Then Call Pegar_Datos(txtot)
End Sub
'
Sub Pegar_Datos(w_textbox)
    With Sheets("Hoja1")
        NewRow = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Cells(NewRow, 1).Value = txtfecha  '(fecha)
        .Cells(NewRow, 2).Value = labelitem '(numero de registro)
        .Cells(NewRow, 3).Value = cmbturno  '(turno)
        .Cells(NewRow, 4).Value = cmbreg    '(registrado por)
        .Cells(NewRow, 5).Value = cmbpart   '(numero de parte)
        .Cells(NewRow, 6).Value = txtprod   '(piezas buenas)
        .Cells(NewRow, 7).Value = txtpru    '(piezas de prueba)
        .Cells(NewRow, 8).Value = w_textbox '(piezas malas, columana para las txt100,txt110, etc)
    End With
End Sub

No entendí a qué te refieres con "me copie la descripción", no sé de dónde obtener la descripción.

En la columna 8 se pondrá el valor que contiene el txt100 o txt200, etc.

Prueba y me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas