Copiar información de la hoja de trabajo de Word utilizando VBA en Microsoft Excel
_Si debe copiar y pegar datos de varias hojas de trabajo de Excel en MS Word, debe leer este artículo. En Excel, no existe tal característica que le permita convertir los datos de un libro de Excel a un archivo de Word. La aplicación de Word no puede abrir archivos de Excel directamente. Sin embargo, los datos de Excel se pueden copiar y pegar en Word y luego guardar como documento de Word.
Todos transferimos datos de Excel a Word manualmente, lo que a veces se vuelve tedioso cuando se trata de realizar los mismos pasos demasiadas veces al día; Para evitar los pasos manuales, escribiremos el código VBA para realizar todos los pasos ._
En este artículo, nos centraremos en mover datos de Excel a un documento de Word. Automatizaremos todo el procedimiento a través del código VBA. Con el código macro, puede simplemente copiar los datos en una hoja de trabajo a la vez y luego la aplicación de palabras se iniciará automáticamente y el código VBA usará el comando de pegar para insertar los datos en el archivo doc.
Para obtener el código; debemos seguir los pasos a continuación para iniciar el editor de VB:
Haga clic en la pestaña Desarrollador Desde el grupo Código, seleccione Visual Basic
Hay un paso importante que no debe perderse. Haga clic en Herramientas para seleccionar Referencias. Desplácese hacia abajo hasta encontrar “Biblioteca de objetos de Microsoft Word 15.0” Asegúrese de marcar la casilla; consulte la imagen de abajo
-
Copie el siguiente código en el módulo estándar
Sub CopyWorksheetsToWord() Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet Application.ScreenUpdating = False Application.StatusBar = "Creating new document..." Set wdApp = New Word.Application Set wdDoc = wdApp.Documents.Add For Each ws In ActiveWorkbook.Worksheets Application.StatusBar = "Copying data from " & ws.Name & "..." ws.UsedRange.Copy wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.Paste Application.CutCopyMode = False wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter If Not ws.Name = Worksheets(Worksheets.Count).Name Then With wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range .InsertParagraphBefore .Collapse Direction:=wdCollapseEnd .InsertBreak Type:=wdPageBreak End With End If Next ws Set ws = Nothing Application.StatusBar = "Cleaning up..." With wdApp.ActiveWindow If .View.SplitSpecial = wdPaneNone Then .ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView End If End With Set wdDoc = Nothing wdApp.Visible = True Set wdApp = Nothing Application.StatusBar = False End Sub
===
Para probar el código, insertemos 2 hojas y agreguemos números aleatorios. A continuación se muestra la instantánea de ambas hojas de trabajo:
Primera hoja: –
2da hoja: –
Después de configurar los datos en hojas de trabajo; podemos ejecutar la macro. La aplicación de Word se iniciará inmediatamente y los datos se copiarán de todas las hojas de trabajo a Word; consulte la siguiente instantánea
Si cree que copiar los datos es una tarea, pero debe haber un salto de página entre los datos de cada hoja de trabajo para que cualquiera pueda marcar fácilmente la diferencia entre los datos de cada hoja de trabajo.
Los datos anteriores se copiarán de una hoja y luego el código VBA se asegurará de agregar un salto de página entre las páginas.
Conclusión: De esta manera, podemos ayudar a muchos usuarios de Microsoft Office que piensan que convertir datos de un archivo de Excel a Word es un poco complicado o imposible. El código anterior ha demostrado la facilidad con la que se pueden copiar y pegar datos en un archivo de Word sin problemas desde varias hojas de Excel a un archivo de Word.
Si te gustaron nuestros blogs, compártelo con tus amigos en Facebook. Y también puedes seguirnos en Twitter y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar, complementar o innovar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]