_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

img1

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

img2

  • 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

image 1.1

===

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: –

image 2

2da hoja: –

image 3

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

image 1

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.

image 48

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]