El proceso de copiar contenido desde una hoja de cálculo de Excel a un documento de Word se puede simplificar mediante una macro. Veamos los siguientes pasos:
1. Seleccionar en el Menú Herramientas >> Referencias la opción de MicrosoftWord
La versión de la referencia será distinta en función de la versión de Office que este utilizando.
Para Office 2010 la referencia a seleccionar es Microsoft Word 14.0 Object Library
En el caso del Office 2013 la referencia a seleccionar es Microsoft Word 15.0 Object Library
2. Para emplear la macro para exportar datos de Excel a Word, se puede escribir el siguiente código en la hoja de cálculo que contiene la información a copiar, o en un módulo.
Debe tenerse cuidado con las comillas dobles que están al rededor de Word.Application, estas deben ser las normales no las inclinadas, se si empelan las inclinadas se producirá el error 424.
Sub Copiar_a_Word()
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
Selection.Copy
With WordApp
'Con este codigo se abrira Word y se creara un documento nuevo
.Visible = True
.Activate
.Documents.Add
End With
WordApp.Selection.PasteSpecial link:=True
'Se pegara en el documento lo seleccionado en la hoja de calculo
WordApp.Selection.Sections(1).Footers(1).Range.Text = "Pie de Página"
Set WordApp = Nothing
End Sub
La macro indicada nos permitirá pasar datos de Excel a Word automáticamente.
3. Seleccionar la información (por lo general son tablas) que se desea copiar
5. Luego de seleccionar la macro a ejecutar, se crea un documento en Word con la información seleccionada
Como se podrá ver, la serie de pasos que comúnmente se realizan para el copiado de información se reduce a un solo paso.
Elaborado por: Arlette Olivera
19/10/2012 a las 7:04 pm
MUY VALIOSO TU APORTE, NECESITO REALIZAR LO CONTRARIO PASAR DE WORD A EXCEL ME PODRIAS COLABORAR CON ESTO
11/11/2012 a las 11:47 am
es muy útil para realizar tablas, por ejemplo, en vez de usar el propio word, ya que en excel se pueden realizar mayores calculos. etc
11/11/2012 a las 11:57 pm
Interesante, permite conocer mas sobre Excel
11/12/2012 a las 4:36 am
Sencillo y practico! Muchas gracias!!! 😉
10/11/2013 a las 7:20 pm
Buenas,
Me guié con tu ejemplo para crear mi propia macro, yo necesito pegar la tabla en un archivo de Word que tengo como machote (base), lo que pasa es que la macro solo pega al inicio del Word, mi pregunta es.. Como hago para que la macro se posicione en un lugar del word especifico???
Sub Copiar_a_Word()
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
With WordApp
'Con este codigo se abrira Word y se creara un documento nuevo
.Visible = True
.Documents.Open ("C:\Don Ricardo\Carta.docm")
'este es el archivo donde yo tengo que copiar la tabla de excel
.Activate
End With
Windows("Proformas.xlsm").Activate
'este es el archivo de excel donde esta la tabla
Sheets("Sheet2").Range("ttabla").Select
Range("ttabla[#all]").Select
Selection.Copy
WordApp.Selection.PasteSpecial Link:=True, DataType:=wdPasteBitmap, Placement:= _
wdInLine, DisplayAsIcon:=False
'Se pegara en el documento lo seleccionado en la hoja de calculo
Set WordApp = Nothing
End Sub
24/11/2014 a las 1:33 am
Hola, te dejo el código que podría ayudarte, espero tus comentarios
Sub tablaaword()
patharch = ThisWorkbook.Path & "\NOMBRE DE ARCHIVO DE WORD"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0
Hoja1.Range("A1:D6").Select
Selection.Copy
textobuscar = "[tabla_excel]"
objWord.Selection.Move 6, -1 'moverse al principio del documento
objWord.Selection.Find.Execute FindText:=textobuscar
While objWord.Selection.Find.found = True 'reemplaza el texto, y busca si hay otro para reemplazarlo
objWord.Selection.PasteExcelTable False, True, False
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend
objWord.Activate
End Sub
22/07/2020 a las 10:05 am
Hola, copie el codigo sugerido pero me dice "object required" ya inclui el nombre de mi documento word y el de mi tabla.
------------------------
Sub tablaaword()
patharch = ThisWorkbook.Path & "\TEMPLATE COLOMBIA_DQC Rebate sin contrato de venta (Spanish).dotx"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0
Hoja1.Range("A1:D6").Select
Selection.Copy
textobuscar = "[Tabla No. 1]"
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
While objWord.Selection.Find.Found = True
objWord.Selection.PasteExcelTable False, True, False
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend
objWord.Activate
End Sub
---------------------------------
¿Alguna sugerencia?
Gracias
29/07/2014 a las 3:32 pm
Buenas tardes:
Me parece una manera muy buena de pasar algo de Excel a Word , muchas veces cuando copias se mueve y no cuadra bien, pero con esta función es mucho más práctico.
Gracias!
14/11/2014 a las 1:26 pm
He probado a hacer lo que me indica para que una hoja de excel que tengo se me copie en word y no me funciona cuando le doy a la macro. ¿Alguien sabe si con officce 2007 y dando solo esos pasos de copiar el código es suficiente?
Yo he seguido los pasos al pie de la letra, he copiado el código, he elegido la opción Microsoft Word 12.0 object library, y le he asignado la macro que se ha creado a un botón. Cuando le doy al botón me dice que falta un objeto. ¿Qué es lo que me falta?
23/11/2014 a las 10:59 pm
Hola
El código fue probado con Office 2007 (por eso aparece Microsoft 12.0 Object Library) , lo acabo de revisar con Office 2010 (con Microsoft 14.0 Object Library) y también funciona, recuerda que para ejecutarlo debes tener previamente seleccionado el contenido que deseas que se envíe a word, si aún asi no se puede copiar el contenido de Excel a Word, por favor sube el archivo donde estes probando a https://www.facebook.com/groups/744813545597355/ para poder revisarlo
Saludos
25/02/2015 a las 1:41 pm
hola, sabes que introduzco el código que dejaste en el ejemplo y arroja un error que dice que se requiere un objeto, a que se puede deber?
saludos!!
04/03/2015 a las 3:08 pm
Hola María
Lo mas se seguro es que es un tema con la librería añadida, en mi caso he probado con "Microsoft Office 14.0 Object Library" y funciona correctamente.
24/06/2015 a las 9:09 pm
Hola Arlette
Gracias por la info que publicas en este tutorial. He copiado la macro tal cual sin embargo obtengo una pantalla que dice "Error de ejecución 424. Objeto requerido". Podrias indicarme a que se debe?
Gracias
30/06/2016 a las 10:46 am
Son comillas dobles que están junto a Word.Application, estas deben ser las normales en lugar de las inclinadas
24/06/2015 a las 9:14 pm
Queria agregar que lo que me aparece es Microsoft Word Library 15
Saludos
24/08/2015 a las 12:52 pm
Hola buenas tardes.
Esta muy interansante el codigo.
Pero tengo el mismo problema que Lesly .
dice “Error de ejecución 424. Objeto requerido
y en herramienta solo tengo: Microsoft Word Library 15
Slds
30/06/2016 a las 10:45 am
Lo indicado se produce por las comillas dobles que se usan en Word.Application, estas deben ser las normales no las inclinadas
30/08/2015 a las 8:06 pm
Sr Fernando. Por favor quisiera guardar mi copia de word con su respectivo nombre que existe en la celda b7 en excel, que proviene .Pero no me ha funcionado, aqui le dejo mi macro:
Mi correo:goldefresh.sff@gmail.com
Gracias de antemano
Sub Copiar_a_Word_inter()
Range("a1:f64").Select
'-------------------------------------------------------------
Dim WordApp2013 As Object
Set WordApp2013 = CreateObject("Word.Application.15")
Selection.Copy
With WordApp2013
'‘Con este codigo se abrira Word y se creara un documento nuevo
.Visible = True
.Activate
.documents.Add
End With
WordApp2013.Selection.PasteSpecial link:=True
'‘Se pegara en el documento lo seleccionado en la hoja de calculo
Set WordApp2013 = Nothing
'Guardar
' no me sale guardar con su nombre !
End Sub
28/09/2015 a las 5:09 pm
Hola amigos, mi nombre Eleazar desde Valencia, Venezuela.
Hola, ¿Como inserto esta funcion: =if(A1=1;A1*B1;B1) en la celda C1 de una tabla de solo 3 columnas y una fila?
Lo he intentado y siempre dice "error de sintaxis"
Gracias anticipadas por compartir tus conocimientos, si puedes responde a mi correo, por favor
01/07/2016 a las 1:02 pm
Buena macro, las he probado y funcionan de maravilla.
Lo que no logro es cambiar el encabezado y pie de pagina en word, para que con macro de excel sustitulla en una plantilla de word, tome el dato de la celda A1 y lo coloque como pie de pagina
Agradecería tu ayuda.
01/07/2016 a las 5:21 pm
Gracias por tu consulta, en el ejemplo se agregó la línea:
WordApp.Selection.Sections(1).Footers(1).Range.Text = “Pie de Página”
con la cual se puede logar lo indicado.
Saludos
07/05/2020 a las 8:47 pm
BNAS NOCHES SEÑOR FERNANDO, SOY NUEVO EN E TEMA DE MACROS QUISERA SABER A CUAL EJEMPLO AGREGO ESA LINEA PARA Q ME CAMBIEN EL ENCABEZADO Y PIE DE PAGINA EN WORD
13/12/2016 a las 8:37 am
Buenos Días!
Hice mi macro en una maquina con Office 2010 y activo la referencia Microsoft Word 14.0 Object Library, pero al abrir el archivo en Office 2013 modificar el archivo y guardarlo vuelvo y lo abro en Office 2010 y me dice que falta la referencia Microsoft Word 15.0 Object Library. Es decir, si lo hago de 2010 a 2013 funciona, pero de 2013 para abrirlo en 2010 saca dicho error. Como puedo solucionar esto? requiero trabajar el archivo en varias maquinas y no sabre que tipo de Office tiene. Requiero que esto me funcione en cualquier Office.
Gracias!
08/11/2017 a las 5:59 pm
buena tarde
muy buenos los aportes de la pagina, necesito copiar la información de excel en word pero no como hipervinculo, ya que cuando borro los datos de la tabla de excel, se borran de la tabla de word, y tambien necesito ingresar un texto desde una tabla de excel, pero como un texto plano sin formato ni celdas
15/06/2018 a las 4:44 pm
Espectacular, mas como le hago para mantener el formato del destino, al ejecutar la macro no respeta los márgenes de la hoja en MSword
09/08/2018 a las 11:58 am
Buenas tardes,
Muy buenos los aportes, me gustaría saber si hay alguna manera de pegar una imagen en el encabezado de sólo la primera página, espero que me puedan ayudar,
Saludos
04/07/2019 a las 5:37 pm
HOLA, BUENAS TARDES.
ME PARECE MUY INTERESANTE LA MACRO, PERO NECESITO PASAR DATOS ESPECÍFICOS DE UNA HOJA DE EXCEL A UN SITIO ESPECÍFICO EN UN DOCUMENTO DE WORD.
QUE MACRO ME AYUDARÍA PARA ESE PROYECTO
24/07/2019 a las 7:43 am
buenos días, necesito pasar de un archivo de excel a un archivo de word, incrustado como objeto en la misma tabla de excel, como pudiera hacer, el rango a copiar el de la celda A4:N452.
Agradezco la colaboración