Cómo integrar datos de Excel en un documento de Word
Actualizado por Brad Jones el 25 de agosto de 2017.
Durante su semana laboral, probablemente haya muchas veces que se encuentre copiando y pegando información de Microsoft Excel en Word, o al revés.
Así es como las personas a menudo producen informes escritos basados en datos que se acumulan y actualizan en una hoja de cálculo. Excel es un gran programa para todo, desde la creación de gráficos de aspecto profesional. 6 Nuevos gráficos de Excel y cómo utilizarlos. 6 Nuevos gráficos de Excel y cómo utilizarlos. ¿Necesita obtener más de sus gráficos de Excel? Aquí hay una guía completa de algunos de los nuevos gráficos presentados en la última versión de Excel. Lea más, para configurar un rastreador de administración de proyectos 10 Excelentes plantillas de administración de proyectos de Excel para el seguimiento 10 Útiles plantillas de administración de proyectos de Excel para el seguimiento Las plantillas de administración de proyectos pueden ayudarlo a replicar proyectos exitosos. Aquí están las plantillas esenciales de Microsoft Excel para usted. Lea más, pero cuando se trata de redactar un informe, Word es una herramienta mucho mejor..
En este artículo, vamos a sumergirnos en secuencias de comandos de VBA en segundo plano que le permiten programar conexiones entre datos que se almacenan en un archivo de Excel y documentos de Word donde se producen informes..
Es sorprendentemente fácil integrar los datos de Microsoft Excel en Microsoft Word una vez que sepa cómo agregar las referencias correctas y cómo diseñar la sintaxis del código VBA de fondo..
Configuración de la hoja de cálculo
En este ejemplo, voy a comenzar con una hoja de cálculo de Excel bastante simple. En la práctica, el archivo de Excel puede constar de varias hojas de cálculo con una gran cantidad de datos, no importa.
Mientras sepa dónde encontrar los datos en la hoja de cálculo, podrá acceder a ellos y tomarlos usando VBA. Cómo enviar correos electrónicos desde una hoja de cálculo de Excel mediante scripts de VBA Cómo enviar correos electrónicos desde una hoja de cálculo de Excel mediante scripts de VBA Nuestro la plantilla de código lo ayudará a configurar correos electrónicos automatizados desde Excel usando Collaboration Data Objects (CDO) y scripts de VBA. Lee mas .
Así es como se ve mi hoja de cálculo de muestra. Es una lista de los totales de gastos que se han calculado a lo largo del año..
Configuración del documento de Word
Digamos que usted tiene un gerente que le gustaría ver un informe bien formateado que describa los gastos, agrupando elementos similares y presentando la información en un diseño que sea un poco más agradable estéticamente.
Puede hacer esto incorporando objetos como cuadros de texto y etiquetas en su documento de Word. Cuando estés en Word, simplemente haz clic en el Desarrollador pestaña de menú, y luego seleccione “Modo de diseño” en el Controles sección. Utilizar el Herramientas heredadas icono desplegable para insertar varios elementos diferentes en su documento.
Utilice este menú para insertar un Etiqueta.
Una vez que haya colocado la etiqueta en el documento donde la desea (no siempre es una tarea fácil), está listo para programar la alimentación de datos. Pero primero, deberá asignar un nombre a la etiqueta para que la VBA pueda identificarla. Haga clic derecho en la etiqueta y vaya a Propiedades. Encuentra el (Nombre) campo y llámalo algo que recordarás.
Ahora, agregue un Botón de comando de la misma Herramientas heredadas lista desplegable y haga doble clic en él para abrir el editor de VBA. Cuando haga que su código funcione más tarde, puede modificarlo para que el código se ejecute en la Documento abierto () evento. Verás que en los cuadros desplegables de objetos en la ventana del editor.
Trabajando con VBA
Para comenzar a conectar Word a Excel, debe asegurarse de poder hacer referencia a este último en VBA. El Tutorial de programación de Excel VBA para principiantes El Tutorial de programación de Excel VBA para principiantes VBA es una herramienta poderosa de Microsoft Office. Puede usarlo para automatizar tareas con macros, establecer disparadores y mucho más. Te presentaremos la programación visual básica de Excel con un proyecto simple. Lee mas .
Preparar la importación de datos de Excel
Haga clic en Herramientas, y entonces Referencias. Desplácese hacia abajo en la lista hasta que vea el Biblioteca de objetos de Microsoft Excel 16.0 y selecciónalo.
Una vez que haya hecho esto, el resto es solo cuestión de escribir un script VBA ridículamente simple para extraer datos de una hoja de cálculo de Excel y actualizar automáticamente el título de la etiqueta con los datos.
Aquí está el código:
Private Sub CommandButton1_Click () Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook Set exWb = objExcel.Workbooks.Open ("C: \ Users \ Brad \ Desktop \ expend.xlsx") ThisDocument.total_expenses.Caption = exWb. Hojas ("Hoja1"). Celdas (12, 2) exWb.Cerrar Establecer exWb = Nothing End Sub
¿Ves cómo funciona eso? los “exWb” El objeto de aplicación de Excel abre el archivo de Microsoft Excel en la ruta que lo proporcionó, y entrará directamente en la hoja y el número de celda específicos, extraerá los datos y los colocará en la propiedad de título de la etiqueta que nombré gastos totales. Todo lo que necesita editar en su script es la ruta del archivo y el nombre de la etiqueta.
Prueba tu macro
Para probar su botón de comando, guarde su documento y recuerde especificar que desea Documento habilitado para macros de Word para que tu código funcione.
Aquí está la macro VBA en acción.
Integrar las etiquetas de Excel
La parte difícil de lidiar con las etiquetas en Word es que a veces es difícil alinearlo al final de una oración o al lado de cualquier otro texto.
Una forma de superarlo es incorporando parte del texto junto con los datos en el propio código VBA. Como puede ver aquí, puse el texto estático directamente en el título al crear la etiqueta..
Ahora, todo lo que tiene que hacer es incluir ese texto cuando actualice la etiqueta con su secuencia de comandos VBA, y simplemente agregue los datos del archivo de Microsoft Excel al final de ese texto..
Así es como se vería ese tipo de código.
Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook Establezca exWb = objExcel.Workbooks.Open ("c: \ Users \ Brad \ Desktop \ expander.xlsa") ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1" ) .Cells (12, 2) ThisDocument.total_hotels.Caption = "Hotels:" & exWb.Sheets ("Sheet1"). Cells (5, 2) ThisDocument.total_dining.Caption = "Dining Out:" & exWb.Sheets ( "Hoja1"). Células (2, 2) ThisDocument.total_tolls.Caption = "Tolls:" & exWb.Sheets ("Sheet1"). Cells (3, 2) ThisDocument.total_fuel.Caption = "Fuel:" & exWb. Hojas ("Hoja1"). Celdas (10, 2) exWb.Cerrar conjunto exWb = Nada
Puedes usar la concatenación de cadenas. “Y” Símbolo para colocar conecte el texto estático con los datos extraídos de la hoja de Excel. Así es como se ven los resultados finales en el documento de Word actualizado:
Llevando las cosas más lejos
Si desea probar sus habilidades, ¿por qué no automatizar su informe 5 Recursos para macros de Excel para automatizar sus hojas de cálculo? 5 Recursos para macros de Excel para automatizar sus hojas de cálculo ¿Buscar macros de Excel? Aquí hay cinco sitios que tienen lo que estás buscando. Leer más aún más? Puede eliminar ese botón de comando gris feo de su documento de Microsoft Word, simplemente ejecutando el script de actualización de datos en Documento.Abierto () - Todo el proceso tendrá lugar tras bambalinas..
Esto significa que en muchos casos, podría crear el documento inicial una vez, y luego nunca tendrá que crearlo nuevamente. Todo lo que tendrá que hacer es abrirlo, y todas las etiquetas se actualizarán automáticamente con los datos del archivo actualizado de Microsoft Excel. Simplemente haga click Impresión, y enviar el informe a su gerente. Un trabajo de 30 minutos acaba de convertirse en una impresión de un minuto!
¿Puedes pensar en otros usos interesantes para esta técnica de integración de datos utilizando VBA? Comparte algunas de tus propias ideas y pensamientos en la sección de comentarios a continuación..
Crédito de la imagen: Punyaphat Larpsomboon a través de Shutterstock.com
Explore más acerca de: Documento digital, Microsoft Excel, Microsoft Word, Programación de Visual Basic.