Saltar al contenido

Copiar celdas de excel a Word

publicado

Holas gentes.. estoy agregando un modulo para que me copie las celdas de mi excel a mi word, pero nose como los parametros de paste adjunto el codigo:



Sub Copiar_Excel_a_Word()


Hoja1.Range("A1:B1").Copy

'crear nueva aplicación Word
Dim appWord As Word.Application
Set appWord = New Word.Application

With appWord
.Visible = True
.Activate
End With

'crear nuevo documento Word
appWord.Documents.Add

'pegar celdas Excel
appWord.??????????????????????????.Paste

'liberar el objeto Word
Set appWord = Nothing

End Sub



[/PHP]

Una ayudita plis para quienes sepan como se puede hacer.

Featured Replies

publicado

Esta macro genera un documento de Word con el rango seleccionado:

El parámetro Documento debe contener la ruta completa del archivo Word a guardar



Sub ExcelWord(Documento As String)

Dim ApliWord As Object
Set ApliWord = CreateObject("Word.Application")

'Convierte un rango de celdas en un documento de Word
'----------------------------------------------------

Selection.Copy

With ApliWord
.Documents.Add
.Visible = True
.Selection.typeparagraph
.Selection.pasteexceltable linkedtoexcel:=False, wordformatting:=False, RTF:=False
.activedocument.SaveAs Documento
End With

ApliWord.Quit

End Sub
[/CODE]

La variable [b]Documento [/b]debe contener la ruta completa del archivo Word a guardar

publicado
  • Autor

Hola Macro Antonio gracias por la ayuda, tengo una duda como seria el codigo si quisiera hacer que en vez de una selecion lo que copiase fuese un rango de celdas

publicado

Por ejemplo para el rango A1:B7:

Range("A1:B7").Select antes de Selection.Copy

publicado
  • Autor

Muchas gracias otra vez Macro, una pregunta :nevreness: ..como se haria para que las celdas copiadas vayan a un parte especifica del documento de un word ya creado

publicado
  • Autor

Chispas, sorry las molestias:concern: ,... te cuento yo estube buscando dos dias enteros en la red y no conseguì ninguno que se base en copiar a un word ya creado en una posicion ya establecida (en una plantilla). Te agradecere me puedas ayudar.

Un beso

publicado

Bueno ha costado pero hemos dado con una forma bastante limpia:

Sub RangoExcel_A_BookmarkWord()

Set AplicaciónWord = CreateObject("Word.Application")
Set [COLOR=#ff0000][I][B]Documento [/B][/I][/COLOR]= wdApp.Documents.Open("[I][B][COLOR=#ff0000]C:\Prueba.Doc[/COLOR][/B][/I]")

ActiveSheet.[COLOR=#ff0000][I][B]Range("A1:F14")[/B][/I][/COLOR].Copy
AplicaciónWord.Selection.Goto Name:="[COLOR=#ff0000][I][B]RangoExcel[/B][/I][/COLOR]"
AplicaciónWord.Selection.Paste


Documento.Save
Documento.Close


Set Documento = Nothing
Set AplicaciónWord = Nothing


End Sub


[/CODE]

Solo tienes que insertar un [color=#ff0000][i][b]marcador [/b][/i][/color]con el nombre "[i][color=#ff0000][b]RangoExcel[/b][/color][/i]" en el punto del [color=#ff0000][i][b]documento [/b][/i][/color]donde desees insertar el rango.

Ni que decir tiene que puedes crear tantos marcadores como quieras ([i][b]Menú Insertar\Marcador[/b][/i]) e insertar tantos rangos como quieras.

Saludos

PD. Ya puedes ir preparandome una excursión al MachuPicho que me la he ganado,.......jajaja

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.