Quiero agregar datos a 2 hojas diferentes

Mediante un formulario quiero en la hoja1 actualizar los datos que ya tengo en esa fila y en la hoja de multas Pagadas quiero agregar en la ultima fila ... Este es mi codigo

Private Sub btnRegistrarPago_Click()
NewRow = Worksheets("Hoja1").Cells(Rows.Count, 1).End(xlUp).Row
NewRow = NewRow + 1
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 66).Value = Format(txtImporteUIT.Value, STANDARD)
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 67).Value = Format(txtMulta.Value, STANDARD)
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 68).Value = Format(txtDescuentoPago.Value, STANDARD)
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 70).Value = Format(txtAhorroPagoDes.Value, STANDARD)
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 71).Value = Format(txtTotal.Value, STANDARD)
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 72).Value = Format(txtAhorroDiferencia.Value, STANDARD)
ThisWorkbook.Worksheets("Hoja1").Cells(NewRow, 73).Value = Format(txtAhorroTotal.Value, STANDARD)
'
MsgBox "Pagos y descuentos registrados", vbInformation, "registro"
'
NewRow1 = Worksheets("Multas Pagadas").Cells(Rows.Count, 1).End(xlUp).Row
NewRow1 = NewRow + 1
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 1).Value = Format(cboOrganismoDes.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 2).Value = Format(cboEmpresaDes.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 3).Value = Format(txtExpedienteDes.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 4).Value = Format(txtResolucion.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 5).Value = Format(txtFechaCobro.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 6).Value = Format(txtPosiblePago.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 7).Value = Format(txtFechaPago.Value, STANDARD)
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 9).Value = Format(txtValorUit.Value, STANDARD) 'Valor uit
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 10).Value = Format(txtImporteUIT.Value, STANDARD) 'UIT
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 11).Value = Format(txtMulta.Value, STANDARD) 'Multa
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 13).Value = Format(txtDescuentoPago.Value, STANDARD) 'Descuento
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 14).Value = Format(txtTotal.Value, STANDARD) 'total
ThisWorkbook.Worksheets("Multas Pagadas").Cells(NewRow1, 15).Value = Format(cboEstadoPago.Value, STANDARD)

MsgBox "Datos Ingresados correctamente", vbInformation, "Registrado"
Unload Me
End Sub

Pero solo me esta agregando en la primera y en la segunda nada.

1 respuesta

Respuesta
1

H o l a:

Lo que quieres hacer, en la hoja "hoja1" es agregar en una nueva línea ciertos datos, ¿y también en la hoja "Multas Pagadas" agregar en una nueva línea ciertos datos?


En esta parte de tu código tienes:

NewRow1 = Worksheets("Multas Pagadas"). Cells(Rows. Count, 1).End(xlUp). Row
NewRow1 = NewRow + 1

Supongo que debería ser así:

NewRow1 = NewRow1 + 1

Te falta un 1 en la variable NewRow1


Por otra parte, puedes establecer en variables objeto, para no repetir varias veces la hoja, por ejemplo:

Private Sub btnRegistrarPago_Click()
    Set l1 = ThisWorkbook
    Set h1 = l1.Worksheets("Hoja1")
    Set h2 = l1.Worksheets("Multas Pagadas")
    '
    NewRow = h1.Cells(Rows.Count, 1).End(xlUp).Row + 1
    h1.Cells(NewRow, 66) = Format(txtImporteUIT, STANDARD)
    h1.Cells(NewRow, 67) = Format(txtMulta, STANDARD)
    h1.Cells(NewRow, 68) = Format(txtDescuentoPago, STANDARD)
    h1.Cells(NewRow, 70) = Format(txtAhorroPagoDes, STANDARD)
    h1.Cells(NewRow, 71) = Format(txtTotal, STANDARD)
    h1.Cells(NewRow, 72) = Format(txtAhorroDiferencia, STANDARD)
    h1.Cells(NewRow, 73) = Format(txtAhorroTotal, STANDARD)
    '
    MsgBox "Pagos y descuentos registrados", vbInformation, "registro"
    '
    NewRow1 = h2.Cells(Rows.Count, 1).End(xlUp).Row + 1
    h2.Cells(NewRow1, 1) = Format(cboOrganismoDes, STANDARD)
    h2.Cells(NewRow1, 2) = Format(cboEmpresaDes, STANDARD)
    h2.Cells(NewRow1, 3) = Format(txtExpedienteDes, STANDARD)
    h2.Cells(NewRow1, 4) = Format(txtResolucion, STANDARD)
    h2.Cells(NewRow1, 5) = Format(txtFechaCobro, STANDARD)
    h2.Cells(NewRow1, 6) = Format(txtPosiblePago, STANDARD)
    h2.Cells(NewRow1, 7) = Format(txtFechaPago, STANDARD)
    H2.Cells(NewRow1, 9) = Format(txtValorUit, STANDARD)        'Valor uit
    H2.Cells(NewRow1, 10) = Format(txtImporteUIT, STANDARD)     'UIT
    H2.Cells(NewRow1, 11) = Format(txtMulta, STANDARD)          'Multa
    H2.Cells(NewRow1, 13) = Format(txtDescuentoPago, STANDARD)  'Descuento
    H2.Cells(NewRow1, 14) = Format(txtTotal, STANDARD)          'total
    h2.Cells(NewRow1, 15) = Format(cboEstadoPago, STANDARD)
    MsgBox "Datos Ingresados correctamente", vbInformation, "Registrado"
    Unload Me
End Sub

Perdón dante Amor , creo que no explique bien, en la hoja 1 quiero actualizar los datos de la fila, porque ya tiene otros datos en otra columnas ingresadas, y en la hoja 1 si quiero agregar y  también actualizar, espero tu ayuda, saludos y gracias.

Vamos por partes, quieres actualizar en la hoja1.

Pero tienes que explicarme qué datos tienes para encontrar la fila que quieres actualizar. Ya que esto que tienes en la macro sirve para poner los datos en una nueva fila:

NewRow = Worksheets("Hoja1"). Cells(Rows. Count, 1).End(xlUp). Row
NewRow = NewRow + 1

Entonces explícame con imágenes y con ejemplos lo que tienes en tu formulario y lo que quieres actualizar en tu hoja.

Después de resolvamos ese punto, pasamos al siguiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas