Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como copiar o exportar tablas de Excel a Word


.

En los links siguientes hay una serie de macros que permiten conectar Excel con Word  o que explican como manipular Word desde Excel con macro, específicamente en este post enseño a exportar una tabla de Excel a Word, anteriormente se había mostrado como copiar una tabla de Word a Excel; en otro posterior tutorial se mostrará como exportar con macro varias tablas de una sola vez por lo que aconsejo suscribas al blog para recibir en tu mail los tutoriales y ejemplos que se van presentando, lo podrás realizar desde el link correspondiente en el lado derecho de la página.

Otros post relacionados con macros que permiten manejar Word desde Excel:

Como crear un archivo de Word con Excel
Como abrir un archivo de Word con Excel
Como conectar Excel con Word crear archivo e insertar texto en Word
Como dar formato a texto de Word desde Excel 
Como abrir modificar e imprimir archivo de Word con macro desde Excel
Como modificar una plantilla de Word con macro de Excel
Como rellenar pagare con datos de Excel conectando con Word
Como crear cartas en Word con clientes listados en Excel
Como copiar tablas o cuadros de Word a Excel
Como exportar tabla de Excel a Word

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

En forma GRATUITA descarga desde el link del final el ejemplo, verás un archivo comprimido que contiene un archivo de Word y otro de Excel con la macro, el archivo de Word se utiliza como plantilla, para que sirva para futuras ejecuciones de la macro; los dos archivos se deben descomprimir en cualquier lugar de la PC con la condición que se encuentren juntos en la misma carpeta.

La macro que permite exportar una tabla de Excel a Word, primero copia la tabla de Excel que se desea exportar, posteriormente crea una instancia de Word y abre el archivo utilizado como plantilla, pega la tabla en el lugar establecido, guarda con otro nombre (guardar como en Excel) el archivo de Word para no inutilizar la plantilla, finalmente muestra el archivo de Word con la tabla insertada, opcionalmente se puede cerrar directamente el archivo y la instancia de Word si no se necesitan con los comandos que se encuentran comentados «wdDoc.Close» y «wdDoc.Quit»

En el vídeo encontrarás una explicación más gráfica y detallando paso a paso su funcionamiento, te sugiero que lo veas, de esa manera podrás modificar la macro a tu necesidad, por favor suscribe el canal y blog, recibirás en tu una notificación en tu correo cada vez que se presente un post con ejemplos de macro, que puedes descargar gratuitamente.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

Código que se inserta en un módulo
Sub ExportaTablaWord()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim objWord As Word.Application, wdDoc As Word.Document
On Error Resume Next
Set a = Sheets(ActiveSheet.Name)
a.Range(«A1:E11»).Copy
nom = ActiveWorkbook.Name
pto = InStr(nom, «.»)
nomarch = Left(nom, pto – 1)
ruta = ThisWorkbook.Path & «» & nomarch & «.docx»
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
Set objWord = CreateObject(«Word.Application»)
objWord.DisplayAlerts = wdAlertsNone
objWord.Visible = True

Set wdDoc = objWord.Documents.Open(ruta)
nomfic = nomarch & » » & Format(Date, «dd-mm-yyyy»)
rutainf = ThisWorkbook.Path & «» & nomfic & «.docx»

ts = «[Campo_Tabla]»
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=ts
While objWord.Selection.Find.Found = True
objWord.Selection.PasteExcelTable False, True, False
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=ts
Wend

wdDoc.SaveAs Filename:=rutainf, FileFormat:=wdFormatXMLDocument
‘wdDoc.Close
MsgBox («La tabla se exportó con éxito»), vbInformation, «AVISO»
‘wdDoc.Quit
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends