Factura en Excel Parte 4.2 – Macro VBA para consultar factura histórica y reimprimirla
PREVIO: FACTURA EN EXCEL PARTE 4.1
Recordemos que la parte 4 de nuestro Proyecto Factura en Excel estará dividido en dos partes. Esta es la segunda parte y veremos cómo desarrollar una macro VBA paso a paso para poder consultar una factura histórica y tener la opción de reimprimirla. Con esta macro automatizaremos el proceso de consulta de facturas sin necesidad de filtrar de manera manual el número de factura en la Tabla dinámica (Parte 4.1), sino que se hará automáticamente y así podremos obtener los datos de los productos de la factura consultada. Cabe señalar que esta macro fue en base a otra macro que se desarrolló en el canal Wise Owl Tutorials, el cual un repertorio fantástico de macros VBA en Excel y otros temas.
Botón Consultar factura
Con la macro desarrollada en este tutorial tendremos un botón cuyo título dice Consultar factura, y dicho botón nos pedirá la factura de la cual deseamos hacer la consulta y devolver los datos hacia nuestra plantilla para posteriormente reimprimirla.
Figura 1. Ingresar número de factura para consultarla e imprimir.
Ver Video Factura en Excel Parte 4.2
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Una vez que ingresamos el número de factura a consultar, la macro filtrará en la Tabla dinámica el número de factura en el campo CONSECUTIVO y así las fórmulas que tenemos en la hoja Consulta-Factura podrán revolver los datos de la factura.
Figura 2. La macro VBA filtra el número de factura en la columna CONSECUTIVO.
Reimprimir factura
Al mostrar los datos de la factura, la macro nos preguntará si deseamos imprimirla, mostrando un mensaje con las opciones Sí o No.
Figura 3. Al consultar la factura tenemos la opción de volver a imprimirla.
Código VBA de la macro
La siguiente macro es la macro que está vinculada al botón Consultar factura.
Option Explicit 'EXCELeINFO 'MVP Sergio Alejandro Campos 'http://www.exceleinfo.com 'https://www.youtube.com/user/sergioacamposh 'http://blogs.itpro.es/exceleinfo Sub ConsultarFactura() Dim Factura Dim Imprimir As Integer Factura = InputBox("Ingresa la factura a consultar.", "EXCELeINFO") Range("E4").Value = Factura Dim pt As PivotTable Dim pf As PivotField Dim pi As PivotItem On Error GoTo ManejadorErrores Set pt = ThisWorkbook.Sheets("TD-Consulta-Factura").PivotTables("tdDetalle") Set pf = pt.PivotFields("CONSECUTIVO") pf.ClearAllFilters For Each pi In pf.PivotItems If pi.Name = Factura Then pi.Visible = True Else pi.Visible = False End If Next pi Imprimir = MsgBox("Deseas imprimir la factura?", vbYesNo + vbQuestion, "EXCELeINFO") If Imprimir = vbYes Then ActiveSheet.PrintOut Copies:=1 Else End If Exit Sub ManejadorErrores: MsgBox "La factura " & Factura & " puede que no exista", vbExclamation, "EXCELeINFO" Range("E4").ClearContents End Sub
Descarga el archivo de ejemplo
Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.