Hola, es la primera vez que hago esto, y espero que me podáis ayudar; quiero llevar las facturas numeradas en excel a utilizar la plantilla; como seria el código de la macro que el mio no lo acepta. Gracias
Hay varias maneras de tomar el último número facturado. Si las facturas emitidas se guardan en forma correlativa en una hoja resumen, tendrás que buscar el último registro grabado y a ese valor sumarle 1. Esta es 1 de las tantas formas de encontrar el valor de la última celda de la col A: Dim ultFactura as integer While Activecell <> "" Activecell.offset(1,0).select Wend ultFactura = activecell.offset(-1,0).value Otra forma es tener una celda perdida que guarde ese número, por ejemplo en el evento de Impresión: Sheets("Hoja2").range("Z1").value = sheets("Hoja2").range("Z1").value + 1 Si esto no resuelve tu inquietud, podes pedirme aclaraciones agregando un poco más de información de cómo estás trabajando este tema.
Gracias, me servio el evento de impresión, pero también me interesa guardar esa factura; es decir, tener un libro de facturas, pues con esa celda perdida solo me vale para una misma hoja; comprendéis lo que quiero decir. Haber si me lo podéis conseguir. Gracias
Para llevar un libro resumen de facturas, necesitarás ejecutar una macro como la siguiente en algún evento: ya sea al momento de imprimir o bien utilizando un botón asociado a una rutina como la que te dejo de ejemplo. Comprenderás que para una tarea así tendrás que ajustar varios aspectos como cada las referencias de los items de la factura, nombre del libro resumen y de las hojas correspondientes. La siguiente rutina controla si el libre Resumen ya se encuentra abierto de lo contrario primero lo abrirá. También podrías utilizar el mismo libro con una hoja de Resumen o Base. Sub facturando() Dim filalibre As Integer Dim libro1, libro2 As String Dim wb As Workbook libro1 = ActiveWorkbook.Name 'será conveniente que en lugar de Activeworkbook ingreses el 'nombre del libro que contiene la factura, tal como aparece para el libro2 'asignar el nombre del libro libro2 = "ResumenFacturas.xls" 'se controla si el libro resumen ya se encuentra abierto For Each wb In Workbooks If UCase(wb.Name) = UCase(libro2) Then GoTo Abierto Next 'instrucción para el caso de que no se encontró el libro resumen abierto 'se asume que el libro Resumen se encuentra en la misma carpeta 'que el libro activo. De lo contrario reemplazar ThisWork... por la ruta completa Workbooks.Open ThisWorkbook.Path & "\" & libro2 Abierto: 'se activa el libro resumen Workbooks(libro2).Activate 'se busca la primer fila libre para comenzar la copia filalibre = ActiveWorkbook.Sheets("Hoja2").Range("A65500").End(xlUp).Row + 1 'se activa el libro que contiene la plantilla o factura Workbooks(libro1).Activate 'ajustar nombre de hoja Sheets("Hoja1").Select 'se copìan todas las celdas con datos al libro destino ActiveSheet.Range("A5").Copy Destination:=Workbooks(libro2).Sheets("Hoja2").Cells(filalibre, 1) ActiveSheet.Range("B4").Copy Destination:=Workbooks(libro2).Sheets("Hoja2").Cells(filalibre, 2) ActiveSheet.Range("A2").Copy Destination:=Workbooks(libro2).Sheets("Hoja2").Cells(filalibre, 3) ActiveSheet.Range("A12").Copy Destination:=Workbooks(libro2).Sheets("Hoja2").Cells(filalibre, 4) End Sub Está explicada cada instrucción como para que te guíes, pero si aún así te presenta alguna dificultad consúltame nuevamente.