Pasar datos de Excel a Word con macros VBA, mejor método

Después de revisar innumerables posts acerca de pasar datos desde Excel hacia Word encontré la mejor solución. Esta consiste en enviar los datos desde hojas Excel o cualquier variable hacia cualquier lugar en Word utilizando el método “buscar y reemplazar” con macros VBA en Excel.

La mejor ventaja es que pueden colocar diferentes variables con texto a voluntad, conservando el formato en cualquier parte de Word, además permite modificaciones posteriores. Muy útil para diseñar pequeños aplicativos para gestionar documentos diversos, como notificaciones, cartas, formatos de inscripción, sin utilizar la función “combinar correspondencia” en Word, todo esto se hace desde Excel.

Pasos:

1 Convertir o crear tu documento Word como plantilla, con extension .dotx, Archivo / Guardar como, luego seleccionan “Plantilla de Word (*.dotx)”, y cuando quieran utilizarla el documento abrirá una copia en vez del original. Para modificar el original tienen que abrirlo desde Archivo / Abrir, en Word.

guardar_como_plantilla

2 Deben colocar textos a reemplazar en la plantilla Word original, por ejemplo [reemp_nombre], [reemp_direccion], [reemp_telefono], o lo que se les ocurra (sin los corchetes también funciona).

1

3 Ahora viene el código en macros de Excel, inserten un nuevo módulo y peguen este código (no olviden guardar como “Libro habilitado para macros”):

3

Para una sola variable, solo reemplazará el texto “[reemp_nombre]”

Sub exportaraword1()

patharch = ThisWorkbook.Path & "\plantilla.dotx" 'ruta de la plantilla
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0

textobuscar = "[reemp_nombre]"
textoreemplazar = "Manuel Vizcarra"

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.Text = textoreemplazar
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend

objWord.Activate

End Sub

Ahora el código para muchas variables (sólo es una sugerencia)

Sub exportaraword2()

Dim datos(0 To 1, 0 To 2) As String '(columna,fila)

patharch = ThisWorkbook.Path & "\plantilla.dotx"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0

datos(0, 0) = "[reemp_nombre]"
datos(1, 0) = Hoja1.cells(1,1) 'datos(columna,fila) = Hoja1.cells(fila,columna)
datos(0, 1) = "[reemp_direccion]"
datos(1, 1) = Hoja1.cells(2,1)
datos(0, 2) = "[reemp_telefono]"
datos(1, 2) = Hoja1.cells(3,1)

For i = 0 To UBound(datos, 2)

textobuscar = datos(0, i)
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar

While objWord.Selection.Find.found = True
objWord.Selection.Text = datos(1, i) 'texto a reemplazar
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend

Next i

objWord.Activate

End Sub

4
Espero que este código les haya servido, aún no lo pruebo en Excel 2007, solamente en Excel 2010. Dejo los archivos de ejemplo para quepuedan descargarlo. No olviden dejar sus agradecimientos, buen día para todos.

Etiquetas:, , ,

"Trackback" Enlace desde tu web.

M. Vizcarra

Ing. Industrial, egresado de la Facultad de Ingeniería Industrial y de Sistemas de la Universidad Nacional Hermilio Valdizán de Huánuco, Perú.

Comentarios (80)

  • Jorge Castro

    |

    Muchas gracias!!!, es bastante util

    Saludos desde Chile

    Reply

  • Carlos Garcia

    |

    Excelente Macro, funciona perfectamente. Ud sabe como podría copiar una tabla y un gráfico de excel a word y pegarlos en modo imagen (metarchivo mejorado)?

    Reply

  • Erick

    |

    Hola!!

    Excelente blog y excelente artículo es justo lo que estaba buscando!!!

    Una duda, ¿como le hago si quiero reemplazar el texto “tabla” por una tabla de la hoja de excel que este en la hoja1 celdas de la c2 a la d4??

    Gracias!!

    Reply

  • Eyder Morales

    |

    Hola, está genial esta forma de pasar datos a un formato en Word controlando desde Excel, solo tengo un par de preguntas que quizá puedas responderme:
    1.- Tengo dentro del formato en Word un cuadro de texto en donde tengo que actualizar un campo y a la hora de ejecutar la macro no lo actualiza, sabes como hacerlo?
    2.- Una vez que he llenado los datos en el formato en Word, como puedo guardar este archivo, controlado obviamente desde Excel.
    Por tu atención, muchas gracias.

    Reply

  • Juan Garcia

    |

    Excelente, es sencillo y facil de implementar.
    Saludos desde México.

    Reply

  • Alex Romero

    |

    Esta exelente esta macro pero como le podria agregar mas campos

    Muchas Gracias

    Reply

  • Giancarlo

    |

    AYUDA !!!! COMO PODRIA, PONERLE UN FORMATO Y TAMAÑO PARA QUE LO MANDE AL WORD, siempre lo envia como calibri….

    Gracias

    Reply

  • Paul Carrera

    |

    Excelente macro, podrías enviarme por favor un ejemplo para añadir por lo menos unos 5 campos de variables?

    Reply

  • Yampierre Martinez

    |

    Amigo quiero agradecer por estos ejemplo me ha servido de mucho, estare pendiente en este blog saludos

    Reply

  • Inma

    |

    Hola
    Esta macro es genial!!
    Una consulta: ¿cómo se puede configurar para que funcione del mismo modo en caso que tenga un listado de nombres, apellidos y teléfonos y quiero obtener el Word para cada uno?
    ¿Alguna sugerencia?

    Muchas Gracias

    Reply

  • cesar parra

    |

    EXCELente, compañero felicitaciones esto si es un aporte.

    Reply

  • German Galicia

    |

    Buenas Tardes tengo un problema estoy tratando de implementar su funcion pero me da problema abrir Word, si corro su progrma tal y como esta corre perfectamente, pero al implementarlo me aparece que no he indentificado la variable patharch y objWord. y realmente por que soy autodidacta me faltan ciertos conocimientos por lo que acudo a su ayuda muchas gracias.

    Reply

  • Celim

    |

    y como puedo pasar un tabla de Excel a Word en diferentes hojas

    Reply

  • Noe Pulido

    |

    Excelente macro, alguien me podría ayudar a saber si es posible pegar el formato de dicha celda de Excel al Word, además también me gustaría saber como puedo copiar una grafica por este mismo método,

    Mil gracias,

    Espero una pronta respuesta…

    Reply

  • Juan Guillermo Rodriguez

    |

    Excelente este ejemplo. Gracias por compartir tus conocimientos.

    Reply

  • Armando Vargas

    |

    Saludos desde Temuco Chile: Me gustaría saber cómo copiar un gráfico de Excel a una plantilla existente de Word. Se cómo se hace con una o más celdas, pero no con un gráfico y menos con una imagen.

    Muchas gracias y espero me puedan ayudar.

    Reply

  • Armando Vargas

    |

    Saludos, se ve bien el código 2, pero no copia los formatos de los documentos y no veo cómo pasa el color mencionado en la plantilla .dotx adjunta.

    Reply

  • Armando Vargas

    |

    Otro dato que no había mencionado: Utilizo Microsoft Office 2013.
    Gracias.

    Reply

  • Vanessa

    |

    Excelente, funciona muy bien. Como le puedo agregar mas campos?

    Gracias y Saludos

    Reply

  • M. Vizcarra

    |

    Si deseas agregarle más sólo incrementa la secuencia sin olvidar ampliar la declaración de la matriz.

    Dim datos(0 To 1, 0 To 8) As String ‘(columna,fila)

    datos(0, 0) = “[reemp_nombre]”
    datos(1, 0) = Hoja1.cells(1,1) ‘datos(columna,fila) = Hoja1.cells(fila,columna)
    datos(0, 1) = “[reemp_direccion]”
    datos(1, 1) = Hoja1.cells(2,1)
    datos(0, 2) = “[reemp_telefono]”
    datos(1, 2) = Hoja1.cells(3,1)
    .
    .
    .
    datos(0, 8) = “[reemp_aaaaaa]”
    datos(1, 8) = Hoja1.cells(9,1)

    Reply

  • M. Vizcarra

    |

    No olviden colocar la referencia hacia word, abriendo la ventana de macros, Herramientas/Referencias y activar “Microsoft Office 14.0 Object Library”

    Reply

  • Nestor

    |

    Hola, tengo examenes que aplico en excel, al momento de terminar el alumno oprime un boton que me guarda el examen con su nombre, como le hago para que en ese mismo boton “macro” automaticamente me mande el nombre del alumno que esta en una celda y su calificacion que esta en otra celda a un archivo donde me genere una lista de alumnos con sus calificaciones

    Reply

  • Orlando Benitez

    |

    hay una manera de pasar el valor de la celda con el mismo formato, por ejemplo los formatos en moneda pasan a word sin el signo ni los decimales.

    Reply

  • Marc

    |

    Exelente la macro, te cuento que se asigne un numero a cada valor o palabra que deseaba modificar y me funcionó mas fácil, ahora surge una pregunta; como se haría para asignarle el nombre de una celda en el doc de excel al nuevo documento de word?, te agradeceré enormemente

    Reply

  • Frank Smith

    |

    El código me funciona perfectamente y está genial. Muchas gracias. Tengo una inquietud. En los documentos de Word, utilizo pies de pagina con nombres de clientes, y me gustaría hacerlo mediante el código VBA y no sé como hacer. Ayuda please.

    Reply

  • David

    |

    Ante todo agradecerte esta macro que actualmente estoy usando.
    Me he dado cuenta que no me cambia campos en la cabecera ya que creo que hay qu activarla.
    ¿Podrías decirme donde y como se activa para poder también modificar cabecera?

    Muchas gracias!

    Reply

  • Javier Ortiz

    |

    Hola, primero que todo dejame felicitarte por la macro. Me fue de gran ayuda, pero quisiera saber como puedo agregar una nueva hoja a un archivo de word desde excel con vba?. Muchas gracias de antemano.

    Reply

  • Enrique Ojeda

    |

    . . .Interesante…!, mi sincero agradecimiento desde mi Rincón de sueños en Venezuela; …Solo lamento no haber podido encontrar la manera de visuelizar un imagen en word desde una base de dato elaborada en excel, a pesar de haber utilizado lo básico como es la vinculación a travez de la incrustación como un objeo desde el menú insertar…perdí todo un día y tanto excel como word xp 2003 no auto se relacionan para mostrar el requerimiento. Saludos.

    Reply

  • AlexPD

    |

    Hola, e código es muy fácil de implementar, muchas gracias por tu ayuda amigo, una consulta, como puedo hacer que se pase un dato de excel a un pie de página en una plantilla word?…
    Saludos

    Reply

  • Eduard

    |

    Solo quería agradecerte la explicación. Gracias a ella he podido automatizar una gran cantidad de informes, con el consiguiente ahorro de tiempo.

    Es un placer encontrar explicaciones como esta!

    Reply

  • Ramon Osorio

    |

    Ayuda por favor¡¡

    No he podido solucionar este error ´5174….
    Me funcionaba perfecto pero por algún motivo ahora solo me genera ese error.. la ruta esta bien el nombre del archivo igual … la verdad no se a que se puede deber.
    Si me puede ayudar se lo agradecería.

    Reply

  • SecoL

    |

    Muy bueno el blog, ayuda muchisimo, pero tengo una duda, puedo mandar datos de una fila en particular, o sea poner botones en cada fila para que me envíe los datos de esa fila en particular al word?

    Reply

  • M. Vizcarra

    |

    @Ramon: verifica bien la ruta del archivo, si aun así no funciona intenta colocar un msgbox antes de llamar al archivo así comprobarás que la ruta esta bien

    Reply

  • M. Vizcarra

    |

    @SecoL: si se puede mandar datos de una fila en particular, solo hace falta hacer referencia a la fila de la celda que se selecciona y luego ejecutar el código con un solo botón, solo reemplazarías el Hoja1.cells(1,1) por Hoja1.cells(Activecell.Row,1), “Activecell.Row” es el número de la fila de la celda seleccionada

    Reply

  • SecoL

    |

    =D Muchas gracias por la respuesta, la voy a aplicar.
    Pero tengo otra duda, trato de ejecutar la macro pero con los datos en HORIZONTAL(por eso la pregunta anterior), sin embargo de 11 columnas en una fila(fila 2) solo lee hasta la columna 6 y entra en un loop que no puedo quitar, he intentado de todo.

    En la fila 1 tengo los nombres por ej ‘=nombre, ‘=apellido, ‘=numero, etc, hasta completar 11 columnas.
    A partir de la fila 2 están los datos, ej Juan, Perico, 12345, etc hasta completar 11 columnas.

    El objetivo es poblar la planilla y al momento de presionar botón seleccionar la fila adecuada para imprimir esos datos.

    Muchas gracias.

    Reply

  • Cristian

    |

    Esta macro se ejecuta desde Excel.
    En A1 tenemos el nombre del cliente, en A2 su dirección y en A3 su localidad.

    Luego la macro, toma estos datos y los reemplaza por los marcadores que tenemos en el documento de Word “C:\Documento_Word.docx”

    Un marcador, en Word 2013 se hace:
    – escribiendo la referencia en el documento, (cliente, dirección)
    – seleccionamos la palabra, vamos a INSERTAR, en el grupo VINCULOS, y clic en MARCADOR, cuando aparece la ventana le ponemos el nombre “cliente” (sin comillas)
    – Lo mismo para “direccion”
    – Guardamos el documento en C:\ o donde quieran y listo.

    Recuerden que luego de ejecutar la macro, deben Guardar Como… (F12) el documento, porque una vez reemplazados los Marcadores, se pierden.
    También podríamos tener una macro que guarde como automáticamente el documento.
    El código siguiente, lo copian directamente en un módulo nuevo en Excel y está listo para usarse con los datos de ejemplo citados.

    Sub Excel_a_Word()
    
        Dim wdApp As Word.Application, wdDoc As Word.Document
    
        On Error Resume Next
        Set wdApp = GetObject(, "Word.Application")
        If Err.Number  0 Then
            Set wdApp = CreateObject("Word.Application")
        End If
        On Error GoTo 0
    
        Set wdDoc = wdApp.Documents.Open("C:\Documento_Word.docx")
        wdApp.Visible = True
        
        With wdDoc.Bookmarks
            .Item("cliente").Range.Text = Worksheets("Hoja1").Range("A1")
            .Item("direccion").Range.Text = Worksheets("Hoja1").Range("A2") & ", " & Worksheets("Hoja1").Range("A3")
        End With
    
    End Sub
    

    Espero les sea de ayuda.

    Reply

  • Victor

    |

    Buenas tardes, me sirvió muchisimo la Macro, gracias. Solo que tengo el mismo problema de Ramon. Me manda un error si la plantilla que deseo utilizar se encuentra en una carpeta diferente estoy intentando algo asi

    patharch = ThisWorkbook.Path & “C:\Users\Victor\Documents\Mantenimiento.dotx” y me manda el error arriba descrito.

    ¿Alguna idea?

    Gracias

    Reply

  • pedro

    |

    Hola buenas noches. Estupendo trabajo el suyo pero me queda un poco grande aunque lo intento. Pertenezco a una Asociación sin ánimo de lucro para ayudar a personas con problemas de adicción. El tema es que tenemos una base de datos en Excel con todos los socios de número y socios protectores en el que figuran sus nombres, apellidos, dirección, teléfonos….etc. Cada vez que hay un “alta” debemos asignarle el nº de socio siguiente al último dado, ya sea socio de número o socio protector (estos rangos son diferentes para ambos) y después de meterlo a mano en Excel, combinamos correspondencia en Word para imprimir su ficha.
    Es un trabajo laborioso y que lleva tiempo. Mis preguntas son: ¿podemos crear una macro para que, introduciendo los datos nuevos, se pueda imprimir el documento de Word y que a la vez queden actualizados los datos en Excel? ¿Habría que renombrar el archivo Excel cada vez que introduzcamos datos nuevos? ¿Los datos nuevos que introducimos podrían hacerlo desde una macro en el que vinieran solo los campos pedidos sin necesidad de tener que desplegar todo el Excel? Muchas gracias. Estaríamos encantados de que nos pusiera un ejemplo.

    Reply

  • luis

    |

    que tal, el macro funciona de maravilla, tengo una duda en esta linea patharch = ThisWorkbook.Path como le pongo para que me tome una hoja determinada, ya que tengo varias hojas y me toma datos de una que no es la que deseo, digamos de la hoja Contrato2, saludos..

    Reply

  • Diego

    |

    Gracias por el aporte muy bueno. Solo una duda para utilizar esta macro. Cómo puedo hacer que complete campos de texto en word?

    Gracias
    Saludos

    Reply

  • marco vidal

    |

    Estimado de la aplicación ” para muchas variables (sólo es una sugerencia)” de arriba, pregunto como se haría, si tengo 400 variables por reemplazar (osea si tenemos 400 datos de una persona, teléfono, dirección, edad, etc., etc.

    Tengo que escribir estas linea con las 400 variables (las variables que yo pongo son “reemp_nombre001, reemp_nombre002, reemp_nombre003……)

    datos(0, 0) = “reemp_nombre001”
    datos(1, 0) = Hoja1.cells(1,1) ‘datos(columna,fila) = Hoja1.cells(fila,columna)

    Se podría utilizar un For para simplificar, yo lo intentado pero no me ha ligado, espero me puedas ayudar, Gracias.

    Reply

  • Adolfo

    |

    Hola, para solucionar este error sustituye
    patharch = ThisWorkbook.Path & “C:\Users\Victor\Documents\Mantenimiento.dotx”
    por
    patharch = “C:\Users\Victor\Documents\Mantenimiento.dotx”

    Es decir, quita ThisWorkbook.Path & y pon solo entre comillas la ruta donde este el archivo

    Reply

  • Germán Caíno

    |

    Buenas,

    Les escribo para agradecerles nuevamente por otro excelente aporte. Como comente en otro post, el código hace exactamente lo que se proponen, sin arrojar ningún error. Además la explicación es muy clara y concreta.

    Nuevamente muchas gracias.

    Reply

  • Maria

    |

    Muy bueno!!! Pero te quiero quedir algo de ayuda, te explico, tengo una BD con 900 registros mas o menos y debo de escoger parte de los datos e incluirlo en una plantilla ya existente, la cosa es que he copiado tu Sub() en mi libro y me dice que no se ha difino variable….
    Sabes porque puede ser?? Soy novatilla y estoy perdidilla.

    Gracias

    Reply

  • Enrique

    |

    Muchas gracias y muy buena la macro. Saludos desde Argentina.
    Enrique

    Reply

  • gabriela

    |

    Hola,tengo un problema y es que me abre una plantilla en blanco y no la que indico a la ruta. Si me pueden ayudar

    Reply

  • Alberto

    |

    Hola. Quisiera saber si pudiste y cómo resolverlo. Gracias.

    Reply

  • Alberto

    |

    Muchas gracias, me fue muy útil.

    Abrazo desde Argentina.

    Reply

  • Jorge

    |

    me podrias explicar como funciona lo de la secuencia y porque para entender
    porque tenes lo siguiente
    (0, 0)
    (1, 0)
    (0, 1)
    (1, 1)
    (0, 2)
    (1, 2) en este yo pondria si siguiera como el del 1 (2,0) porque no se entonces necesitaria saber como seria el incremento y porque si se puede ya que me sirve esto pero tengo muchos datos a reemplazar son 14 en total, te agradeceria tu respuesta

    Reply

  • jose andres

    |

    Muchas gracias, es lo que buscaba

    Reply

  • Alondra Morales

    |

    Hola buenas noches una duda, desúes de reemplazar las variables con la macro base en la plabtilla de word, com o puedo o donde agrego la instruccion par q ese mis mo documento de word que se genero lo guarde, ya intente hacerlo pero me manda error… help me please….

    Reply

  • Oscarw

    |

    Hola M.Vizcarra, me ha servido mucho tu post, agradezco tu ayuda.
    Se me ha presentado un inconveniente, y esque cada vez que abro la plantilla de excel al archivo que tengo le agrega un numero mas, por ejemplo mi plantilla excel se llama “base.xltm” y cuando lo abro aparece como “base1.xltm” y si lo vuelvo a abrir se llama “base11.xltm” no se que esta pasando con este archivo, por favor me podrias colaborar?, tengo office 2010.

    Reply

  • daniel febres

    |

    Manuel. Buen día! ya llevo un par de semanas y he podido dar un excelente uso de tu macro. Sólo tengo una duda, al igual que otros que han dado sus comentarios. La búsqueda de texto mediante “textobuscar” no incluye cabezeras ni pie de pagina (header, footer). Algun modificador u opcion para el comando?

    Nuevamente gracias, EXCELENTE aporte!

    Reply

  • Pedro Castillo Vargas

    |

    Hola buenas tardes, yo he intentado poner mas datos, pero ya no corre, donde puedo mandar mi archivo para que me hicieran favor de corregir, no se nada de macros ni de programación, agradezco el apoyo que pudieran darme, saludos.

    Reply

  • Tere

    |

    Muy bien gracias por compartirlo.

    Reply

  • Tere

    |

    Gracias por compartirlo.

    Reply

  • Dario

    |

    Consulta:

    Tengo una plantilla en word y los datos estan documento excel.

    Quiero generar un documento N veces segun la cantidad de datos de la plantilla excel.

    Reply

  • Samuel

    |

    Te han ofrecido una respuesta a tu pregunta: Me he dado cuenta que no me cambia campos en la cabecera ya que creo que hay qu activarla.
    ¿Podrías decirme donde y como se activa para poder también modificar cabecera?

    Si es asi podrias compartirlos conmigo.
    Muchas gracias.

    Reply

  • PMC

    |

    Muchas gracias por la macro…sos lo más grande M. Vizcarra!!!!!

    Reply

  • José Fernández

    |

    Saludos desde Colombia; excelente! Es exactamente lo que buscaba. Gracias sinceras.

    A la misma macro le he agregado unas líneas para que guarde con el nombre de una de las celdas. Para el caso del ejemplo, la ruta se escribe en la variable archivo que hay que declara primero y el documento de word se graba con la extensión por defecto:

    Sub exportaraword2()

    ‘Codigo escrito por Manuel Vizcarra – wwww.combito.com
    Dim datos(0 To 1, 0 To 2) As String ‘(columna,fila)
    Dim archivo As String

    archivo = “C:\Users\dewordaexcel” & “\” & Range(“a1”)

    patharch = ThisWorkbook.Path & “\plantilla.dotx”
    Set objword = CreateObject(“Word.Application”)
    objword.Visible = True
    objword.Documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0

    datos(0, 0) = “[reemp_nombre]”
    datos(1, 0) = Hoja1.Cells(1, 1) ‘(fila,columna)
    datos(0, 1) = “[reemp_direccion]”
    datos(1, 1) = Hoja1.Cells(2, 1)
    datos(0, 2) = “[reemp_telefono]”
    datos(1, 2) = Hoja1.Cells(3, 1)

    For i = 0 To UBound(datos, 2)

    textobuscar = datos(0, i)
    objword.Selection.Move 6, -1
    objword.Selection.Find.Execute FindText:=textobuscar

    While objword.Selection.Find.found = True
    objword.Selection.Text = datos(1, i) ‘texto a reemplazar
    objword.Selection.Move 6, -1
    objword.Selection.Find.Execute FindText:=textobuscar
    Wend

    Next i

    objword.Activate
    ActiveDocument.SaveAs Filename:=archivo, FileFormat:=wdFormatDocumentDefault

    End Sub

    Reply

  • DANIEL FEBRES

    |

    Buen dia Manuel. He usado tu codigo en una hoja excelque he desarrollado. Tengo un único defecto que mencionar (y realmente no sé donde exactamente está la razón).

    Cuando el VBA abre el dotx y ejecuta el Buscar Reemplazar , el código me elimina TODAS las letras X”equis” que estaban en Dotx. Por ejemplo, si en la el archivo plantilla dice LA EXPLICACION ES…, tras terminar todo el proceso, dice LA EPLICACION ES…

    Espero puedas hacer una prueba en tu equipo y tu excel a ver si es un error de mis versiones (tengo Office Pro plus 2010).

    Gracias nuevamente!

    Reply

  • Gabriel Cadena

    |

    Hola buenas tardes, probé la macro y esta genial, pero si yo ya tengo una plantilla en la que quisiera que se remplazaran los [reemp_nombre] como tendría que hacerle?

    Muchas gracias.

    Reply

  • franco fernandez

    |

    Hola ese codigo es espectacular y le hice algunas modificaciones, pero hay alguna manera que con este mismo codigo se pueda insertar una imagen en el documento word???

    Reply

  • franco fernandez

    |

    Perdon por no especificar, ya que lo que necesito es insertar una firma en una carta de una ruta, segun el codigo del trabajador, espero me puedan ayudar

    Reply

  • Armando Vargas Schwarzenberg

    |

    Hola de nuevo a pesar que ha pasado bastante tiempo:
    Tengo la duda de cómo puedo utilizar este código pero para copiar un gráfico (chart) en la misma plantilla de word desde la planilla de Excel. Espero me puedan ayudar, gracias.

    Reply

  • Luis

    |

    Tengo un problema quiero Imprimir un nombre y una imagen en un archivo de Word por medio de marcadores , el problema es que no puedo ingresar los datos juntos solamente por separado pero preciso hacerlo en forma conjunta porque los datos los levanto por medio de una base y lo estoy haciendo por medio de Visual Basic 6 alguien me puede ayudar muchas gracias

    Reply

  • Zamanda

    |

    Yo creé un formato en Excel para ser llenado en texto pero debo pasarlo a word y cada vez que sea llenado guardarlo y que quede limpio para ingresar los datos de otro usuario y ser guardado en un mismo archivo que debo hacer gracias por su información

    Reply

  • Sergio

    |

    Hola, gracias por la ayuda. ¿Cómo puedo añadir un campo más en la macro? Es decir, añadir primero un campo en la plantilla por ejemplo [reemp_apellido] y saber qué debo escribir en la macro para añadir ese nuevo campo. El apellido estaría en la celda A4. Muchas gracias.

    Reply

  • NANCY PEREZ

    |

    Buenas tardes, quisiera saber si puedes ayudarme con un código que requiero para pasar una tabla en excel a una plantilla en word, la situación es que la tabla varia, entonces el rango no es definido, inicia en un punto especifico y tiene un numero de columnas fijo, pero las filas son variables; si tienes conocimiento de este código te agradecería infinitamente tu ayuda.

    Reply

  • Rob

    |

    Como se podría hacer para 200 campos??

    Aplicando un For, como sería?

    Reply

  • Maria

    |

    Excelente comentario!!! Súper útil y el mejor de todos los que he encontrado en la red.

    Reply

  • William

    |

    Tengo una consulta como podria hacer para enviar de un textbox contenido en un userform en la hoja de excel a un campo de word, eh intentado mucho y como soy nuevo en esto de macros no me ubico. Me ayudaria de mucho que ve puedas dar pistas o algun codigo para realizar esto.
    Gracias de antemano

    Reply

  • PABLO

    |

    E-X-C-E-L-E-N-T-E!!!!!!!!!!!!!

    Reply

  • José

    |

    Una consulta… ¿Cómo podría colocarle formato numerico a los datos de excel?, ya que una vez que estan exportados a word quedan sin formato….
    de antemano muchas gracias y excelente tú código

    Reply

  • David

    |

    Alguien sabe hacer lo mismo pero si tengo algún subíndice o superíndice en excel, que se pase a word.

    Muchas gracias de antemano.

    Reply

  • Alfredo Eduardo

    |

    Hola que tal, como estan todos!!! Excelente codigo el unico inconveninete es que se detiene en
    la siguiente linea de comando:

    objWord.documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0

    alguien podria ayudarme con este inconveniente.

    Saludos desde Argentina!!!!

    Reply

  • PEPE

    |

    Tengo una pregunta se puede hacer que buscar y reemplazar en el encabezado y pie de pagina?

    con el método: Pasar-datos-de-excel-a-word-con-macros-vba-mejor-metodo

    XD tibia

    Reply

  • Mazogu

    |

    Exelente… Funciona muy bien; dime y si quisiera pasar datos de un textbox a Word, cual seria el código.Gracias.

    Reply

Deja un comentario