Copie la información de la hoja de trabajo a Word usando VBA en Microsoft Excel

Anonim

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 mediante 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 debes perderte
  • 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 como Word.Application, wdDoc como Word.Document, ws como hoja de trabajo Application.ScreenUpdating = False Application.StatusBar = "Creando nuevo documento …" Establecer wdApp = Nuevo Word.Application Establecer wdDoc = wdApp.Documents.Add Para cada ws In ActiveWorkbook.Worksheets Application.StatusBar = "Copiando datos de" & ws.Name & "…" ws.UsedRange.Copy wdDoc.Paragraphs (wdDoc.Paragraphs.Count) .Range.InsertParagraphAfter wdDoc.Paragraphs (wdDoc.Paragraphs .Count) .Range.Paste Application.CutCopyMode = Falso 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 Tipo: = wdPageBreak Finalizar con final Si el siguiente ws Establecer ws = Nada Application.StatusBar = "Limpiando…" Con wdApp.ActiveWindow Si .View.SplitSpecial = wdPaneNone Then. ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView End If End With Set wdDoc = Nada 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:

1ra hoja:-

2da hoja:-

  • Después de configurar los datos en hojas de trabajo; podemos ejecutar la macro
  • La aplicación Word se iniciará inmediatamente y los datos se copiarán de todas las hojas de trabajo en 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 ningún problema 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 al sitio de correo electrónico