Limpia Factura de Compra Sub limpiezafc() ActiveSheet.Range("F4,F6,C7").Value = "" ActiveSheet.Range("A10:B27,D10:E27,F29:F30").Value = "" End Sub Imprime Factura de Compra Sub Imprimirfc() ' imprimir Macro On Error Resume Next Sheets("F.COMPRA").Activate ActiveSheet.PrintPreview End Sub Codigo para Guardar o Volcar Datos de la Factura de Compra Private Sub CommandButton2_Click() ActiveSheet.Unprotect Password:="123" Sheets("Base").Activate Sheets("Base").Unprotect "123" Sheets("F.COMPRA").Select 'rutina que graba la factura compra 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("F6") 'NRO FACT Sheets("Base").Cells(filalibre, 1) = ActiveSheet.Range("B5") 'FECHA Sheets("Base").Cells(filalibre, 5) = ActiveSheet.Range("C7") 'PROVEEDOR Sheets("Base").Cells(filalibre, 6) = ActiveSheet.Range("G4") 'Nº ESTADO Sheets("Base").Cells(filalibre, 7) = ActiveSheet.Range("F5") 'COD. CONT. 'otros datos del encabezado 'copiamos lista de items Sheets("Base").Cells(filalibre, 13) = ActiveCell.Offset(0, 0) 'CANT Sheets("Base").Cells(filalibre, 8) = ActiveCell.Offset(0, 1) 'COD PROD Sheets("Base").Cells(filalibre, 10) = ActiveCell.Offset(0, 3) 'DESCRIPC Sheets("Base").Cells(filalibre, 11) = ActiveCell.Offset(0, 4) 'COSTO '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 limpiezafc ActiveSheet.Protect Password:="123" Sheets("Base").Activate Sheets("Base").Protect "123" Sheets("F.COMPRA").Select End Sub