Microsoft Excel tiene varias características y una de ellas es generar informes automáticamente. Puede crear hojas de cálculo interactivas para simplificar el proceso de ingresar datos para otros en el libro de trabajo, al mismo tiempo que automatiza la generación de informes. Ambas características requieren un conocimiento suficiente de Visual Basic. Los pasos para realizar ambas tareas se describen a continuación.
Paso
Método 1 de 2: creación de una hoja de cálculo interactiva

Paso 1. Determine el diseño de la hoja de cálculo
El diseño de la hoja de cálculo debe realizarse de modo que otros puedan encontrar los campos necesarios para ingresar datos.
Los diseños de hojas de cálculo se pueden colocar horizontal o verticalmente. A la mayoría de los usuarios les resulta más fácil trabajar con un diseño vertical, especialmente si se imprimirá la hoja de cálculo

Paso 2. Cree etiquetas de texto para la hoja de cálculo
Escriba una etiqueta en la parte superior de cada columna y a la izquierda de cada celda de la columna que planea usar como entrada de datos.

Paso 3. Presione las teclas alt="Imagen" y F11 juntas
Esta combinación de teclas abrirá el editor de Microsoft Visual Basic.

Paso 4. Haga doble clic en "Este libro" en el panel "Proyecto-Proyecto VBA" en la parte superior izquierda
Aparecerá una ventana para escribir código en la sección principal del editor.

Paso 5. Seleccione "Procedimiento" en el menú Insertar
Aparecerá el cuadro de diálogo Agregar procedimiento.

Paso 6. Ingrese el nombre del procedimiento en el campo Nombre
Ingrese un nombre significativo para el procedimiento, como "SumExpenses" si la hoja de cálculo se utilizará para informar los gastos de viaje. Haga clic en Aceptar para cerrar el cuadro de diálogo.
- Los nombres de los procedimientos no pueden contener espacios, pero pueden usar un guión bajo (_) para reemplazar espacios.
- Después de que se cierre el cuadro de diálogo Agregar procedimiento, aparecerá una línea con la etiqueta "Sub público" seguida del nombre del procedimiento. Debajo de esa línea hay un espacio y las palabras "End Sub".

Paso 7. Ingrese el código para cada campo de entrada en la hoja de cálculo
Escribirás dos líneas de código para cada entrada.
- La primera línea de código tiene la forma de "Rango (" nombre de celda "). Seleccionar", "nombre de celda" representa la celda donde se ingresa la entrada. Complete el nombre de la celda que está inmediatamente a la derecha de la etiqueta de texto. Si la etiqueta de texto está en la celda A2, el campo de entrada es la celda B2 (Rango ("B2"). Seleccionar). Las comillas antes y después del nombre de la celda todavía se escriben en esta etapa, pero ya no se incluyen en la declaración de código completa.
- El código de la segunda línea es "ActiveCell. Value = InputBox (" InputPrompt ")". "InputPrompt" representa el texto que aparecerá para notificar al usuario el tipo de datos que debe ingresar en la celda de entrada. Por ejemplo, si la celda de entrada se llenará con gastos de comida, reemplace "InputPrompt" por "Ingrese los gastos totales de las comidas, incluidas las propinas". (Las comillas para el texto de la instrucción de entrada todavía están incluidas, mientras que las comillas antes y después del comando no necesitan escribirse).

Paso 8. Ingrese el código para cada campo de cálculo
Nuevamente, las dos líneas usadas son las mismas que antes, pero esta vez ActiveCell. Value es un cálculo de una función numérica, por ejemplo SUM, donde la función InputBox se usa para mostrar instrucciones de entrada.

Paso 9. Agregue una línea de código para guardar su hoja de cálculo interactiva
El formato es "ActiveWorkbook. SaveAs Filename: =" Filename.xls "." Filename "es el nombre de la hoja de cálculo interactiva. (Las comillas antes y después de" Filename.xls "permanecen escritas, mientras que las comillas para todos los comandos son no requerido.)
Si está utilizando Microsoft Excel versión 2007 o posterior, utilice ".xlsx" en lugar de ".xls". Sin embargo, si hay usuarios de hojas de cálculo interactivas con la versión de Excel 2003 e inferior, no podrán utilizar la hoja de cálculo sin un complemento de lector

Paso 10. Presione las teclas alt="Imagen" y Q simultáneamente
Se cerrará el editor de Visual Basic.

Paso 11. Presione las teclas alt="Imagen" y F8 simultáneamente
Aparecerá el cuadro de diálogo Macro.

Paso 12. Haga clic en el nombre del procedimiento en la lista Macros
Si el procedimiento creado es el único en la lista, se seleccionará automáticamente.

Paso 13. Haga clic en el botón Opciones
Se le pedirá que ingrese un carácter de teclado para usar como atajo con la tecla Ctrl. Elija una letra significativa que no se haya utilizado como carácter de acceso directo, como "e" para "entrada".

Paso 14. Haga clic en "Aceptar" para cerrar el cuadro de diálogo Opciones de macro
Ahora puede distribuir hojas de cálculo interactivas a los usuarios. Después de abrirlo, el usuario puede usar las teclas de acceso directo para realizar entradas y seguir las instrucciones que creó para completar los datos.
Método 2 de 2: Automatizar la generación de informes

Paso 1. Cree un informe en una tabla dinámica
Las tablas dinámicas están diseñadas para resumir datos para que pueda comparar números e identificar tendencias. La tabla dinámica debe relacionarse con los datos que se encuentran en uno de los procesadores de datos o importados de una base de datos específica.

Paso 2. Escriba una secuencia de comandos de Visual Basic para abrir y cerrar el informe
El script debería poder realizar las diversas funciones que se enumeran a continuación. Cada función se describirá seguida del código entre paréntesis para implementarla. Al escribir código real, escríbalo en un solo bloque, reemplazando el nombre en el ejemplo con el suyo, y no incluya paréntesis al principio y al final de la muestra de código.
- Abra la hoja de cálculo en modo de solo lectura. [DIM XLAppSet XLApp = CreateObject ("Excel. App") xlapp.visible = falsexlapp.workbooks.open / excelloc / filename.xls, 3,]
- Vuelva a cargar los datos y guarde el informe, en este ejemplo se guarda como PDF con la leyenda de la fecha. [Truexlapp.activeworkbook. RefreshAllxlapp.activeworkbook. ExportAsFixedFormat xlTypePDF, / pdfloc / reportname_ & DatePart ("yyyy, Now ()) &" - "& Right (" 0 "& DatePart (" m ", Now ()), 2) & "-" Derecha ("0" & DatePart ("d", Now ()), 2) & ".pdf"] Si el formato del documento de salida es diferente, reemplace el formato ".pdf" por la extensión adecuada según lo desee.
- Cierre la hoja de cálculo sin guardarla, luego cierre Excel. [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
- Utilice ".xlsx" en lugar de ".xls" al final de la hoja de cálculo si la hoja de cálculo está guardada en Excel 2007 y en un formato posterior basado en XML.

Paso 3. Escriba una secuencia de comandos por lotes para iniciar la secuencia de comandos de Visual Basic
El propósito de escribir la secuencia de comandos es que las secuencias de comandos de Visual Basic puedan ejecutarse automáticamente. Sin un script por lotes, los scripts de VB deben ejecutarse manualmente.
El script está escrito en el siguiente formato, reemplazando con su propio nombre de carpeta y nombre de archivo para el nombre dado en este ejemplo: [cscript / nologo / fileloc / script.vbs]

Paso 4. Escriba un script por lotes para asegurarse de que el archivo de salida exista tal como se creó
Su secuencia de comandos debe realizar las siguientes funciones. Cada función irá seguida del código entre paréntesis para implementarla. Al escribir código real, escríbalo en un solo bloque, reemplazando el nombre en el ejemplo con el nombre que necesita, y no incluya paréntesis al principio y al final del código de muestra.
- Compruebe si hay un archivo de salida. [Para / f "tokens = 2-4 delims = /" %% a in ('date / t') establezca rreport = reportname _ %% c - %% a - %% b.pdf)] Si el formato de archivo de salida no es PDF, reemplace ".pdf" con la extensión adecuada.
- Si el archivo / informe de salida existe, envíelo por correo electrónico a la persona que lo necesite. [Si existe / pdfloc \% rreport% (sendmail -f [email protected] -t [email protected] -u Informe programado -m Se adjunta el informe %% informe%. -A / pdfloc \% rreport% -s servidor tuyo: puerto -xu nombre de usuario -xp contraseña)]
- Si el archivo / informe de salida no existe en la ubicación especificada, cree un procedimiento para que pueda enviarle un mensaje de que la entrega falló. [De lo contrario (sendmail -f [email protected] -t [email protected] -u El informe no se ejecutó -m archivo% rreport% no existe en / pdfloc / -s yourserver: puerto -xu nombre de usuario -xp contraseña)]

Paso 5. Asegúrese de que la carpeta "Escritorio" esté en la computadora
Debe verificar la existencia de la carpeta Escritorio para sistemas de 32 y 64 bits. De lo contrario, Excel y la hoja de cálculo deben abrirse manualmente.
- Ubicación del sistema de 32 bits: c: / windows / system32 / config / systemprofile
- Ubicación del sistema de 64 bits: c: / windows / syswow64 / config / systemprofile

Paso 6. Programe tareas para ejecutar scripts según sea necesario
Los scripts por lotes deben ejecutarse de forma secuencial y continua, incluso si nadie está usando la computadora. Los privilegios deben establecerse en la configuración más alta posible.