Cómo copiar datos de Excel a Word usando VBA Excel

Tabla de contenido:

Anonim

Para copiar datos de Excel a un archivo de Word usando VBA, necesitamos acceder a la aplicación de Word usando Excel VBA. En este tutorial aprenderemos cómo abrir una aplicación de Word, agregar un documento y copiar y pegar datos desde Excel.

En este artículo, utilizaremos el método de enlace anticipado para crear un objeto de aplicación de Word en lugar de utilizar el enlace tardío. Puede leerlo aquí en detalle.

El proceso de copiar datos de Excel a un archivo de Word usando Excel VBA

Para copiar datos de Excel a un archivo de Word usando VBA, primero necesitamos abrir la Aplicación de Word, por supuesto. Luego agréguele un documento (si desea un documento nuevo). Copie los datos del archivo de Excel. Seleccione el párrafo en el documento y péguelo. Finalmente, guarde y cierre el documento. Cada uno de estos pasos se puede realizar fácilmente desde Excel. No necesitará interactuar con el documento de Word.

Comencemos con un ejemplo sin profundizar en la teoría. Porque Iron Man dijo, "A veces tienes que correr antes de poder caminar".

Ejemplo: pegar datos de Excel en Word usando VBA

El siguiente código es un ejemplo de cómo puede copiar un rango de Excel y pegarlo en un nuevo documento de Word y guardarlo en la unidad para usarlo más tarde.

'Código VBA para escribir para copiar datos de Excel a un documento Sub ExcelToWord ()' Uso de enlace temprano Dim wordApp como Word.Application Dim mydoc As Word.Document 'Creando una nueva instancia de palabra solo si no hay otras instancias Establecer wordApp = New Word.Application 'Haciendo visible la aplicación de Word wordApp.Visible = True' Creando un nuevo documento Establecer mydoc = wordApp.Documents.Add () 'copiando el contenido de la hoja de Excel ThisWorkbook.Worksheets ("sheet1"). Rango ("A1: g20 ") .Copy 'Pegando en el documento mydoc.Paragraphs (1) .Range.PasteExcelTable _ LinkedToExcel: = False, _ WordFormatting: = False, RTF: = False' guardando el documento mydoc.SaveAs2" MyDoc "'cerrando el documento mydoc .Close 'Vaciando el portapapeles CutCopyMode = False End Sub 

Explicación del Código:

Bueno, he explicado cada paso en el código usando comentarios, pero tengamos algunas palabras sobre las líneas que hemos usado en este sub.

'Variables creadas de la aplicación de Word y el tipo de documento

Atenuar wordApp como Word.Application

Atenuar mydoc como Word.Document

Aquí hemos declarado dos variables de los tipos requeridos. Podemos hacer esto porque ya hemos agregado la referencia a la palabra aplicación. Puede hacer esto yendo a herramientas en el menú. Buscar la opción de referencias y luego buscar la palabra de referencia.

'Creando una nueva instancia de palabra solo si no hay otras instancias

Establecer wordApp = New Word.Application

'Hacer visible la aplicación de Word

wordApp.Visible = Verdadero

'Creando un nuevo documento

Establecer mydoc = wordApp.Documents.Add ()

En la primera línea de arriba, intentamos la variable wordApp con un objeto de tipo Word.App usando la palabra clave New. Esto abrirá la aplicación de Word.

En la segunda línea hacemos visible la palabra aplicación para que podamos trabajar con ella.

En la siguiente línea, agregamos un nuevo documento a la aplicación de Word usando la función Word.Documents.Add (). Esto se almacena en la variable mydoc.

'copiando el contenido de la hoja de Excel

ThisWorkbook.Worksheets ("hoja1"). Rango ("A1: G20"). Copiar

Aquí simplemente estamos copiando un rango de Excel. Debes haberlo hecho antes. Se almacena en el portapapeles.

'Pegar en el documento

mydoc.Paragraphs (1) .Range.PasteExcelTable _

LinkedToExcel: = Falso, _

WordFormatting: = Falso,

RTF: = falso

Estamos usando el método PasteExcelTable de la clase Paragraph.Range de mydoc para pegar datos del portapapeles.

'guardando el documento

mydoc.SaveAs2 "MyDoc"

'cerrando el documento

mydoc.Close

'Vaciar el portapapeles

CutCopyMode = Falso

Estamos guardando el documento con el nombre MyDoc. Luego cerramos el documento usando la función Cerrar. Finalmente liberamos el portapapeles para que lo utilicen otros.

Así que sí, chicos, así es como pueden crear un nuevo documento de Word y copiar datos de Excel usando VBA. No he entrado en detalles, ya que haría que el artículo fuera exageradamente largo. Esto fue solo para aprender cómo se puede pegar en un documento de Word a través de Excel. Espero que te haya ayudado a comprender el proceso. Si tiene alguna pregunta con respecto a este artículo, puede comunicarse conmigo a través de la sección de comentarios a continuación.

Introducción a Excel VBA UserForms| Explicaré cómo crear un formulario en Excel, cómo usar la caja de herramientas de VBA, cómo manejar las entradas del usuario y finalmente cómo almacenar las entradas del usuario. Repasaremos estos temas usando un ejemplo y una guía paso a paso.

Variables de VBA en Excel| VBA son las siglas de Visual Basic para Aplicaciones. Es un lenguaje de programación de Microsoft. Se utiliza con aplicaciones de Microsoft Office como MSExcel, MS-Word y MS-Access, mientras que las variables de VBA son palabras clave específicas.

Alcance variable de Excel VBA| En todos los lenguajes de programación, tenemos especificadores de acceso a variables que definen desde dónde se puede acceder a una variable definida. Excel VBA no es una excepción. VBA también tiene especificadores de alcance.

Argumentos ByRef y ByVal | Cuando se pasa un argumento como argumento ByRef a una función o sub diferente, se envía la referencia de la variable real. Cualquier cambio realizado en la copia de la variable se reflejará en el argumento original.

Elimine hojas sin mensajes de confirmación usando VBA en Microsoft Excel | Dado que está eliminando hojas usando VBA, sabe lo que está haciendo. Le gustaría decirle a Excel que no muestre esta advertencia y elimine la maldita hoja.

Agregar y guardar un nuevo libro de trabajo usando VBA en Microsoft Excel 2016| En este código, primero creamos una referencia a un objeto de libro de trabajo. Y luego lo inicializamos con un nuevo objeto de libro de trabajo. El beneficio de este enfoque es que puede realizar operaciones en este nuevo libro de trabajo fácilmente. Como guardar, cerrar, borrar, etc.

Mostrar un mensaje en la barra de estado de Excel VBA| La barra de estado en Excel se puede utilizar como monitor de código. Cuando su código VBA es extenso y realiza varias tareas usando VBA, a menudo deshabilita la actualización de la pantalla para que no vea que la pantalla parpadea.

Desactive los mensajes de advertencia con VBA en Microsoft Excel 2016| Este código no solo deshabilita las alertas de VBA, sino que también aumenta la eficiencia de tiempo del código. Veamos cómo.

Articulos populares:

50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 accesos directos le permitirán trabajar aún más rápido en Excel.

La función BUSCARV en Excel | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

CONTAR.SI en Excel 2016 | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar valores específicos. La función Countif es esencial para preparar su tablero.

Cómo usar la función SUMIF en Excel | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.