En este ejemplo te mostrare como realizar un Formato de Cotización en Excel con formulas y vba. De antemano te digo que este mismo caso puede aplicar a muchos ejemplos de formatos contables. La idea es que de una manera muy rápida y sencilla puedas generar cotizaciones a tus clientes y ademas poder crear un PDF de cada una.
Formato de cotización
Actualización 21-11-2023
- Actualización automática del numero de folio al generar PDF.
- Se puede seleccionar el nombre de cliente desde una lista desplegable.
- Seleccionar el producto desde una lista.
- Configurar cualquier moneda en el total con letras.
Lo primero es crear un formato para la cotización, en este formato pondremos las formulas que deberán llenar los datos que corresponden a los clientes y los productos.
Para este caso te sugiero ver el ejemplo de diseño de factura en excel que publique hace tiempo.
Base de datos de clientes para formato de cotización
Para poder rellenar automáticamente los campos que correspondan a los clientes, es necesario contar con los datos requeridos.
Base de datos de productos
Al ingresar código de productos en el formato, los otros datos se deben llenar automáticamente, así que también necesitamos una tabla con estos datos.
Formulas para llenar automáticamente el formato de cotización
Ahora que ya tenemos el formato de cotización, lo que sigue es ingresar las formulas que realizaran la parte importante. Consiste en obtener automáticamente los datos de clientes y productos al momento de ingresar el dato clave.
Formula para la fecha actual
En el campo de la fecha del documento podemos poner la siguiente formula, esto si queremos obtener la fecha del día y no tener que capturarla.
=HOY()
Formula para obtener datos del cliente en una cotización
Si se ingresa un código de cliente, podemos obtener su nombre en base a este código con la siguiente formula.
=SI($G$6="","",BUSCARV($G$6,bdclientes,2,FALSO))
El código de cliente se ha puesto en G6 y la búsqueda de ese código se hace en el rango que se ha llamado bdclientes, ya en otra ocasión vimos como nombrar rangos en excel.
Con la siguiente formula se obtiene la dirección del cliente.
=SI($G$6="","",BUSCARV($G$6,bdclientes,3,FALSO))
Con esta otra obtenemos el RFC.
=SI($G$6="","",BUSCARV($G$6,bdclientes,4,FALSO))
Si observas la formula, es prácticamente igual en todos los casos, solo cambia el tercer argumento en la función BUSCARV, el cual representa el numero de columna dentro de la base de datos que contiene el dato que se debe devolver.
Probablemente tu no quieres obtener los datos en base al código de cliente. En ese caso simplemente debes nombrar el rango bdclientes teniendo como columna inicial el nombre del cliente.
Formulas para obtener los datos de los productos en formato de cotización.
Para el caso de los productos la historia es la misma, primero debes nombrar el rango de la tabla de datos de productos.
Formula para obtener descripción del producto
=SI(E12="","",BUSCARV(E12,bdproductos,2,FALSO))
Al ver la formula, podemos ver que es la misma lógica que en los casos anteriores. Solo cambiamos la referencia a la matriz donde la búsqueda sera realizada.
Formula para obtener el precio unitario del producto.
=SI(E12="","",BUSCARV(E12,bdproductos,3,FALSO))
Formula para obtener el importe
=SI(B12="","",SI(E12="","",B12*W12))
En todos los casos estamos usando la Función SI para comprobar si las celdas de referencia están vacías.
Formula para obtener el importe total de la cotización
=SUMA(AA12:AD41)
Calcular el IVA ( opcional )
=AA42*0.16
Obtener el total
=AA42+AA43
Generar el total en letras en la cotización
=letras(AA44,1)
En este caso se hace la conversión de números a letras mediante el uso de un código VBA, ya se incluye el código en este ejemplo.
Generar un PDF de cada Formato de Cotización
Como puedes notar, realizar un Formato de Cotización en Excel no es tan dificil, pero Adicional-mente, puedes crear un PDF de la cotización elaborada. Esto lo puedes lograr usando el ejemplo que vimos anteriormente para Generar PDF con Macros, en este ejemplo de cotizaciones ya se incluye la macro para pdf.
Victor Manuel Cota dice
Pues esta bueno, solo que tendría que memorizar que código le corresponde a cada cliente o producto, ¿¿¿los RFC???
karime gonzalez dice
Buen dia me interesan este tipo de planillas para inventarios y cotizaciones
Sebas dice
Funciona perfecto a excepción del botón exportar a PDF, me arroja el siguiente error en las siguientes líneas:
RutaArchivo = ActiveWorkbook.Path & “\” + nombre + “.pdf”
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
¿Alguna idea de qué parte de la macro tenga que modificar para hacerlo funcionar?
* Excelente página me ha servido mucho preparándome para la post-pandemia
Norma dice
Hola, en donde se guarda la base de datos?.. es en las pestañas siguientes a la cotizacion?
luis dice
En la parte del código como es que alimentas la lista para que al escoger una opción de esta salga la descripción
Juan Martinez dice
Excelente página!!
Estoy impresionado!!
Ernesto Segovia dice
Muy buena herramienta y excelente explicación. Saludos
Zaira Urda dice
Me interesa, pero adicional requiero cargar las imágenes de los productos.
Podría orientarme?
Gracias.
Nolberto Lopez dice
El siguiente ejemplo puede ayudar, recomiendo la opción con macros.
https://formulasexcel.com/buscar-imagen-con-formula-y-macro-en-excel/
En esta otra pagina también hay un ejemplo.
https://formulasexcel.com/buscador-con-formulas-excel/
Si requiere algo mas elaborado, puede contactar a [email protected] y explicar su necesidad.
Ricardo M. Mery Milán dice
Accidentalmente abrí la pagina de Formulas Excel y me sorprendió gratamente, requiero de un Sistema de Mantenimiento para Maquinaria Pesada en el que deben registrarse Ingresos y Egresos por cada equipo, el Ingreso puede ser por concepto de renta o por trabajo en obra propia, los egresos pueden ser por Mantenimiento, Reparación, Tiempo Muerto, Tiempo de Espera, Tiempo de Transporte, etc. El parámetro para cobrar rentas, cuantificar factores de costo/beneficio, alerta de mantenimiento, etc. se hace en horas, ya que estos equipos cuentan con un reloj para este efecto. La idea es poder registrar los gastos por refacciones, insumos, mano de obra, etc. que se le haga a cada máquina, para esto se tendría un catálogo de proveedores en el que se especifique que artículos y a que precio los vende cada uno. De esta manera se cotiza, se autoriza la compra mediante una orden de compra, para finalmente turnar los datos a finanzas para que realice la transferencia del pago. Por la contraparte, se requiere un catálogo de clientes y obras a los que se les cobrará renta por el uso de la máquina, puede ser por hora, semana, mes o período acordado, se requiere hacer una factura no timbrada, misma que se autoriza para que sea oficialmente emitida por la App de facturación enlazada a contabilidad.
Ojalá no lo haya hecho bolas, pero si me gustaría me cotizara esto, en el entendido que es una combinación de varias apps que usted ya maneja.
Agradezco su atención,
Ing. Ricardo M. Mery Milán 871 211 6913 [email protected]
Nolberto Lopez dice
Saludos Ricardo.
Favor de enviar un mensaje con lo aquí expuesto al correo [email protected] para su análisis.
FELICITA TAPIA dice
me interesa todolo que tenga que ver con plantillas para inventarios, kardex. optimizacion de procesos
gracias.
Nolberto Lopez dice
Saludos Felicita.
Quizá las siguientes aplicaciones le sean de ayuda.
https://contabilidad.formulasexcel.com/#Productos
hugo campos dice
cuando se genera el pdf a que carpeta lo envia
Edgar dice
BUENAS TARDES.
No encuentro la función de descarga
Bernardino Aragon Lopez dice
Muy Buen ejemplo
Veronica Rangel dice
hola buen día me interesa este archivo, pero se descarga en extensión rar. y no lo puedo abrir, me podrias decir cuanto me cuesta.
muchas gracias.
Nolberto Lopez dice
Saludos Verónica.
La descarga de este archivo es gratis.
Usted debe instalar WinRar para descomprimir este tipo de archivos.
JUAN DIEGO SANGUINO dice
CREES QUE ME LO PUEDAS PASAR NO ME DA LA OPCION DE DESCARGA