Macro de excel para generar un documento de word

Estoy
Desarrollando una macro de excel donde recoge los datos de una hoja del
libro y los exporto a un documento de word. A su vez tengo otra macro
que me replica las hojas de excel por un número variable dependiendo de
las necesidades.
Supongamos que replico 5 hojas, desearía que en
el word se me abriese el documento generado, además de cada una de las
hojas de excel.
Te paso el código para que le puedas echar un vistazo.

--------------------------------------------------------------------------------------------------------------------

Aquí genero el documento de word

Public Sub generaDocumento()
' Generar Word con Macro
Dim objWord As Word.Application
Dim cadena As String
cadena = "Esto es una prueba del texto que se puede grabar agregando el dato de la "
cadena = cadena & "columna C1: " & ThisWorkbook.Worksheets("Inicio").Range("A3").Value
cadena = cadena & " y su valor correspondiente: " & ThisWorkbook.Worksheets("Inicio").Range("B3").Value
Set objWord = CreateObject("Word.Application")
objWord.Documents.Add
objWord.ActiveDocument.Content.FormattedText.Text = cadena
objWord.ActiveDocument.SaveAs "C:\Users\Iván\Desktop\Oikos pruebas\prueba.doc"
objWord.Quit True
Set objWord = Nothing
End Sub
--------------------------------------------------------------------------------------------------------------------

Aquí multiplico las hojas de excel dentro del libro.

Sub Replicar_CUPS()
'
' Duplicar_CUPS Macro
'
'
Sheets("CUPS1").Select
For i = 1 To Sheets("Inicio").Range("H9").Value - 1
Sheets("CUPS1").Copy After:=Sheets(i + 1)
ActiveSheet.Name = "CUPS" & i + 1
Next i
End Sub
---------------------------------------------------------------------------------------------------------------------

2 respuestas

Respuesta
1

Perdona, pero no acabo de entender: por un lado creas un domento de word con datos de un excel y por otro duplicas hojas. ¿Qué es lo que hay que hacer?

Antes que nada gracias por contestar,

Yo tengo ahora mismo dos códigos con funciones distintas. Uno es una macro para la creación de un word a partir de una plantilla excel, y el otro es otra macro que lo que me hace es replicar las hojas que yo quiera del libro de excel.

Me gustaría obtener un código que, a la vez que me genera el documento de word, imprima el número de hojas excel que tengo en el libro. Te pongo un ejemplo, supongamos que le pido 6 copias de la misma hoja (con la macro que me copia las hojas dentro del excel), en el word que se me genera me debería de incluir las 6 hojas del excel.

Espero haber sido algo más claro en mis explicaciones,

muchas gracias.

Te mando este código. Ya me contarás.

Sub crearword()

origen = ActiveSheet.Name

p = InputBox("cuantas copias de la hoja actual desea???")

If p = "" Then Exit Sub

For m = 1 To p

dato = dato & "--" & Range("b4").Value

Sheets(origen).Copy after:=Sheets(Sheets.Count)

ActiveSheet.Name = origen & m

Sheets(origen).Select

Next

dato = Mid(dato, 3, Len(dato) - 2)

Set objword = CreateObject("Word.Application")objword.Documents.Addobjword.ActiveDocument.Content.FormattedText.Text = datoobjword.ActiveDocument.SaveAs "paraborrar.doc"

Set objword = Nothing

End Sub

Respuesta

Quería saber puedo introducir varios textos al generar el documento en word de tal manera que no queden uno en frente del otro, sino cada texto en un renglón diferente en word

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas