CODIGOS PARA EL MODULO 1 Sub limpieza() ActiveSheet.Range("C6,F4").Value = "" ActiveSheet.Range("A10:B17").Value = "" End Sub Sub Imprimir() ' imprimir Macro On Error Resume Next Sheets("FACTURA").Activate ActiveSheet.PrintPreview End Sub CODIGOS PARA EL BOTON IMPRIMIR Y GUARDAR 'imprimir Call Imprimir 'rutina que graba la factura en hoja base 'se busca la primer fila libre en hoja Fact filalibre = Sheets("Base").Range("A1048576").End(xlUp).Row + 1 'se pasarán los datos desde la 1er fila de items ActiveSheet.Range("A10").Select fila = 10 While ActiveCell.Value <> "" 'copiamos datos fijos ajustando nro col Sheets("Base").Cells(filalibre, 2) = ActiveSheet.Range("F4") 'NRO FACT Sheets("Base").Cells(filalibre, 1) = ActiveSheet.Range("B4") 'FECHA Sheets("Base").Cells(filalibre, 3) = ActiveSheet.Range("C6") 'CLIENTE 'otros datos del encabezado 'copiamos lista de items Sheets("Base").Cells(filalibre, 4) = ActiveCell.Offset(0, 0) 'CANT Sheets("Base").Cells(filalibre, 5) = ActiveCell.Offset(0, 1) 'COD PROD Sheets("Base").Cells(filalibre, 6) = ActiveCell.Offset(0, 2) 'PROD Sheets("Base").Cells(filalibre, 7) = ActiveCell.Offset(0, 3) 'DESCRIPC Sheets("Base").Cells(filalibre, 8) = ActiveCell.Offset(0, 4) 'PRECIO UNIT Sheets("Base").Cells(filalibre, 9) = ActiveCell.Offset(0, 5) 'PRECIO TOT 'incremento la variable fila para repetir el bucle filalibre = filalibre + 1 'repito el bucle para los items siguientes ActiveCell.Offset(1, 0).Select Wend 'una vez concluída la copia debiera limpiarse el form de datos 'para el ingreso de nueva factura Call limpieza