Genera informes automáticamente en excel

Una de las principales características de Microsoft Excel es la capacidad de generar informes. Puede crear hojas de cálculo interactivas para que sea más fácil para otros usuarios ingresar datos en un libro de trabajo, y también puede generar informes automáticamente. Ambas funciones requieren algún conocimiento de Visual Basic. Los siguientes son los pasos para realizar ambas tareas.

Pasos

Método 1 de 2: crear una hoja de cálculo interactiva

Imagen titulada Automatizar informes en Excel Paso 1
1. Decide el diseño de tu hoja de cálculo. La hoja de cálculo debe organizarse de tal manera que otros usuarios puedan encontrar rápidamente los campos para ingresar datos.
  • Puede orientar su hoja de cálculo horizontal o verticalmente. A la mayoría de los usuarios les resultará más fácil trabajar con un diseño vertical, especialmente si desea que puedan imprimir la hoja de cálculo.
Imagen titulada Automatizar informes en Excel Paso 2
2. Crear encabezados para la hoja de cálculo. Coloque un encabezado encima de cada columna, así como en la celda a la izquierda de cada celda de la columna donde desea colocar los campos de entrada.
Imagen titulada Automatizar informes en Excel Paso 3
3. Presione simultáneamente las teclas Alt y F11. Esto abrirá el editor de Microsoft Visual Basic.
Imagen titulada Automatizar informes en Excel Paso 4
4. Haga doble clic en "este libro" en la ventana "Proyecto-Proyecto VBA" arriba a la izquierda. Esto abrirá una ventana de codificación en la ventana principal del editor.
Imagen titulada Automatizar informes en Excel Paso 5
5. Seleccione "Procedimiento" a través de Insertar en el menú principal. Se abre el cuadro de diálogo Insertar procedimiento.
Imagen titulada Automatizar informes en Excel Paso 6
6. Introduzca un nombre para el procedimiento en el campo Nombre. Asigne al procedimiento un nombre significativo, como "Gastos totales" si su hoja de cálculo interactiva se utilizará para realizar un seguimiento de los gastos de viaje. Haga clic en Aceptar para cerrar el cuadro de diálogo.
  • El nombre de su procedimiento no puede contener espacios, pero puede usar un guión (_) en lugar de un espacio.
  • Cuando se cierre el cuadro de diálogo `Insertar procedimiento`, verá una línea `Public Sub` seguida del nombre del procedimiento. Debajo de la línea verá un espacio y las palabras `End Sub`.
    Imagen titulada Automatizar informes en Excel Paso 7
    7. Ingrese el código para cada campo de entrada en la hoja de cálculo. Vas a escribir dos líneas de código para cada entrada.
  • La primera línea de código es `Range("nombre de la celda").Seleccionar`, donde "nombre de la celda" la celda debe representar dónde se colocará el campo de entrada. Esta es la celda inmediatamente a la derecha de una etiqueta de texto; si hay una etiqueta de texto en la celda A2, se colocará un campo de entrada en la celda B2, por lo que (Rango ("B2").Seleccione). Asegúrese de que las comillas estén alrededor del nombre de la celda, pero no alrededor de todo el bloque de código.
  • La segunda línea de código se parece a `ActiveCell.Valor=CuadroEntrada("Indicador de entrada")`, cierto "Indicador de entrada" es el texto que se muestra al usuario para indicar qué tipo de datos introducir. Por ejemplo, si el costo de las comidas debe ingresarse en la celda de entrada, reemplaza "Indicador de entrada" de "Ingrese el total de todas las comidas, incluidas las propinas." (Coloque las comillas alrededor del texto de entrada, pero no alrededor de todo el comando).
    Imagen titulada Automatizar informes en Excel Paso 8
    8. Ingrese el código para cada campo de cálculo. Nuevamente, usa las mismas dos líneas que arriba, pero esta vez ActiveCell.El valor es una función de cálculo, como SUM, en lugar de la función InputBox que se usa para mostrar el mensaje de entrada.
    Imagen titulada Automatizar informes en Excel Paso 9
    9. Agregue una línea de código para guardar su hoja de cálculo interactiva. El código es `ActiveWorkbook.Guardar como nombre de archivo: ="Nombre del archivo.xls" `, por lo que "Nombre del archivo" es el nombre de su hoja de cálculo interactiva. (Pon comillas alrededor "Nombre del archivo.xls", pero no alrededor del ejemplo completo).
    Si tiene Excel 2007 o posterior, puede usar la salida `.xls` reemplazado por `.xlsx`, pero si algunos de los usuarios de su hoja de cálculo interactiva usan Excel 2003 o anterior, no podrán usar la hoja de cálculo sin un complemento.
    Imagen titulada Automatizar informes en Excel Paso 10
    10. Presiona Alt y Q al mismo tiempo. Cierra el editor de Visual Basic.
    Imagen titulada Automatizar informes en Excel Paso 11
    11. Presiona Alt y F8 al mismo tiempo. Esto abrirá la ventana Macro.
    Imagen titulada Automatizar informes en Excel Paso 12
    12. Haga clic en el nombre de su procedimiento en la lista Macro. Si este es el único procedimiento en la lista, se seleccionará automáticamente.
    Imagen titulada Automatizar informes en Excel Paso 13
    13. Haga clic en el botón Opciones. Ahora se le pedirá que elija un carácter para crear una combinación de teclas con la tecla Ctrl. Elija una letra significativa que aún no se haya utilizado como atajo, como una `i` para `entrada`.
    Imagen titulada Automatizar informes en Excel Paso 14
    14. Haga clic en `Aceptar` para cerrar la ventana Opciones de macro. Ahora puede entregar su hoja de cálculo interactiva a usuarios potenciales. Después de abrirlo, pueden usar el atajo de teclado para habilitar la entrada de datos y seguir las notificaciones que creó para la entrada de datos.

    Método 2 de 2: Automatizar la generación de informes

    Imagen titulada Automatizar informes en Excel Paso 15
    1. Convierta su informe en una tabla dinámica. Las tablas dinámicas están diseñadas para crear resúmenes de datos para que pueda comparar números y detectar tendencias. Su tabla dinámica debe estar vinculada a datos en otra parte de su hoja de cálculo o importada de una base de datos.
    Imagen titulada Automatizar informes en Excel Paso 16
    2. Escriba un script de Visual Basic para abrir y cerrar el informe. El script debe realizar las funciones a continuación. Cada función se describe seguida del código a implementar entre corchetes. Cuando escriba el código del programa real, escríbalo en un solo bloque, reemplace los nombres de los ejemplos con sus propios nombres y no incluya los corchetes que rodean el ejemplo completo.
  • Abre la hoja de cálculo en modo de solo lectura. [DIM XLAppSet XLApp=CrearObjeto("Sobresalir.aplicación")xlapp.visible=falsoaplicación.libros de trabajo.abrir \excellocnombre de archivo.xls,3,]
  • Actualice los datos y guarde el informe (en este ejemplo, como PDF con un sello de fecha). [Truexlapp.libro activo.ActualizarAllxlapp.libro activo.Exportar como formato fijo xlTypePDF, \pdflocreportname_ & ParteFecha("aaaa, ahora()) & "-" & derecho("0" & ParteFecha("metro",Ahora()),2) & "-" derecho("0" & ParteFecha("D",Ahora()),2) & ".pdf"] ¿Su documento de salida está en un formato diferente? Reemplace `.pdf` luego a través de la terminación apropiada para ese formato.
  • Cierre la hoja de cálculo sin guardarla y cierre Excel. [xlCalidadEstándarxla aplicación.libro activo.cerrar Falsexlapp.renunciar]
  • uso `.xlsx` en lugar de `.xls` como la salida del nombre de la hoja de cálculo, si su hoja de cálculo está guardada en el formato basado en XML de Excel 2007 y posterior.
    Imagen titulada Automatizar informes en Excel Paso 17
    3. Escriba un script por lotes en el Bloc de notas (y guárdelo más tarde como `.bat`) para iniciar el script de Visual Basic. Esto es necesario para que el script de Visual Basic se ejecute automáticamente. Sin el script por lotes, el script VB debe ejecutarse manualmente.
    Si su secuencia de comandos está en este formato, reemplace la carpeta y el nombre de archivo especificados por los suyos, omitiendo los corchetes: [cscript /nologo \filelocscript.vbs]
    Imagen titulada Automatizar informes en Excel Paso 18
  • 4. Escriba un script por lotes para verificar si el archivo de salida existe cuando se crea. El script debe describir las funciones a continuación. Cada función va seguida del código que se implementará entre corchetes. Cuando vaya a escribir el código real, hágalo en un bloque y reemplace los nombres de los ejemplos con sus propios nombres, sin los corchetes.
  • Comprobar si el archivo de salida existe. [para / f "tokens=2-4 delimitaciones=/ " %%a en (`fecha /t`) establezca rreport=reportname_%%c-%%a-%%b.pdf)] Si el archivo de salida no es un PDF, reemplace ".pdf" luego por la extensión derecha.
  • Si el archivo/informe de salida existe, envíelo por correo electrónico a las personas que lo necesiten. [Si existe \pdfloc%rreport% (sendemail -f [email protected] -t [email protected] -u Informe programado -m Informe %%report% adjunto. -a pdfloc%rreport% -s suservidor:puerto -xu nombre de usuario -xp contraseña)]
  • Si el archivo/informe de salida no existe en la ubicación específica, haga que el procedimiento le envíe un mensaje de que el envío falló. [ Else ( enviaremail -f [email protected] -t [email protected] -u El informe no se ejecutó -m el archivo %report% no existe en \pdfloc -s yourserver:port -xu nombre de usuario -xp contraseña)]
    Imagen titulada Automatizar informes en Excel Paso 19
  • 5. Compruebe si la carpeta `Escritorio` existe en la computadora. Debe verificar que la carpeta del escritorio exista tanto para un sistema de 32 bits como para un sistema de 64 bits. Si no hace esto, Excel y su hoja de cálculo deberán abrirse manualmente.
  • Ubicación en el sistema de 32 bits: c:windowssystem32configsystemprofile
  • Ubicación en el sistema de 64 bits: c:windowssyswow64configsystemprofile
    Imagen titulada Automatizar informes en Excel Paso 20
  • 6. Si es necesario, programe una tarea para ejecutar los scripts. Los scripts por lotes deben ejecutarse continuamente en sucesión, independientemente de si alguien está usando la computadora o no. La potencia debe establecerse lo más alta posible.

    Consejos

    Las tareas programadas se ejecutan mejor desde un servidor, generalmente desde una cuenta del sistema con privilegios de administrador. El único inconveniente de ejecutar tareas desde una cuenta del sistema es que no hay una interfaz de usuario disponible; pero las tareas automatizadas generalmente se ejecutan en segundo plano, sin que el usuario se dé cuenta.

    Оцените, пожалуйста статью