
Codigo Macro de Excel almacenar registros
Publicado por Daniel (2 intervenciones) el 03/01/2024 21:40:53
Hola a toda la comunidad
Hice una tabla en Excel donde registro varios productos y por medio de un botón almaceno la lista de compra de estos, el código fuente es de una Macro que asocie a dicho botón dentro del mismo libro de Excel, el código funciona perfecto, solo que me almacena un registro a la vez y ahora deseo que almacene mas de uno. Ojala me puedan ayudar, muchas gracias.
Sub Registros()
'
' Registros Macro
' Macro para guardar histórico de Ordenes de Compras
'
' Acceso directo: CTRL+p
'
Dim strTitulo As String
Dim Continuar As String
Dim Registros As Range
Dim NuevaFila As Integer
Continuar = MsgBox("¿Deseas registrar la Orden de Compra?", vbYesNo + vbExclamation, strTitulo)
If Continuar = vbNo Then Exit Sub
Set Registros = ThisWorkbook.Worksheets("Registros").Cells(1, 1).CurrentRegion
'
NuevaFila = Registros.Rows.Count + 1
'
With ThisWorkbook.Worksheets("Registros")
.Cells(NuevaFila, 1).Value = ThisWorkbook.Sheets(1).Range("N8") 'Pedido
.Cells(NuevaFila, 2).Value = Date
.Cells(NuevaFila, 3).Value = ThisWorkbook.Sheets(1).Range("D2") 'Proyecto
.Cells(NuevaFila, 4).Value = ThisWorkbook.Sheets(1).Range("J2") 'Proveedor
.Cells(NuevaFila, 5).Value = ThisWorkbook.Sheets(1).Range("J3") 'R.F.C
.Cells(NuevaFila, 6).Value = ThisWorkbook.Sheets(1).Range("C12") 'Concepto
.Cells(NuevaFila, 7).Value = ThisWorkbook.Sheets(1).Range("G12") 'Unidad
.Cells(NuevaFila, 8).Value = ThisWorkbook.Sheets(1).Range("H12") 'Cantidad
.Cells(NuevaFila, 9).Value = ThisWorkbook.Sheets(1).Range("J12") 'Precio Unitario
.Cells(NuevaFila, 10).Value = ThisWorkbook.Sheets(1).Range("K12") 'Importe
.Cells(NuevaFila, 11).Value = ThisWorkbook.Sheets(1).Range("K32") 'Subtotal
.Cells(NuevaFila, 12).Value = ThisWorkbook.Sheets(1).Range("K33") 'IVA
.Cells(NuevaFila, 13).Value = ThisWorkbook.Sheets(1).Range("K36") 'Total
.Cells(NuevaFila, 14).Value = ThisWorkbook.Sheets(1).Range("D32") 'Observaciones
End With
MsgBox "El registro se almaceno de manera exitosa.", vbInformation, strTitulo
End Sub
Hice una tabla en Excel donde registro varios productos y por medio de un botón almaceno la lista de compra de estos, el código fuente es de una Macro que asocie a dicho botón dentro del mismo libro de Excel, el código funciona perfecto, solo que me almacena un registro a la vez y ahora deseo que almacene mas de uno. Ojala me puedan ayudar, muchas gracias.
Sub Registros()
'
' Registros Macro
' Macro para guardar histórico de Ordenes de Compras
'
' Acceso directo: CTRL+p
'
Dim strTitulo As String
Dim Continuar As String
Dim Registros As Range
Dim NuevaFila As Integer
Continuar = MsgBox("¿Deseas registrar la Orden de Compra?", vbYesNo + vbExclamation, strTitulo)
If Continuar = vbNo Then Exit Sub
Set Registros = ThisWorkbook.Worksheets("Registros").Cells(1, 1).CurrentRegion
'
NuevaFila = Registros.Rows.Count + 1
'
With ThisWorkbook.Worksheets("Registros")
.Cells(NuevaFila, 1).Value = ThisWorkbook.Sheets(1).Range("N8") 'Pedido
.Cells(NuevaFila, 2).Value = Date
.Cells(NuevaFila, 3).Value = ThisWorkbook.Sheets(1).Range("D2") 'Proyecto
.Cells(NuevaFila, 4).Value = ThisWorkbook.Sheets(1).Range("J2") 'Proveedor
.Cells(NuevaFila, 5).Value = ThisWorkbook.Sheets(1).Range("J3") 'R.F.C
.Cells(NuevaFila, 6).Value = ThisWorkbook.Sheets(1).Range("C12") 'Concepto
.Cells(NuevaFila, 7).Value = ThisWorkbook.Sheets(1).Range("G12") 'Unidad
.Cells(NuevaFila, 8).Value = ThisWorkbook.Sheets(1).Range("H12") 'Cantidad
.Cells(NuevaFila, 9).Value = ThisWorkbook.Sheets(1).Range("J12") 'Precio Unitario
.Cells(NuevaFila, 10).Value = ThisWorkbook.Sheets(1).Range("K12") 'Importe
.Cells(NuevaFila, 11).Value = ThisWorkbook.Sheets(1).Range("K32") 'Subtotal
.Cells(NuevaFila, 12).Value = ThisWorkbook.Sheets(1).Range("K33") 'IVA
.Cells(NuevaFila, 13).Value = ThisWorkbook.Sheets(1).Range("K36") 'Total
.Cells(NuevaFila, 14).Value = ThisWorkbook.Sheets(1).Range("D32") 'Observaciones
End With
MsgBox "El registro se almaceno de manera exitosa.", vbInformation, strTitulo
End Sub
Valora esta pregunta


0