Saltar al contenido

copiar y pegar con VBA en excel


lil1234

Recommended Posts

publicado

hola buen día

Estoy programando en excel con Vba y tengo una duda, el ejemplo es el siguiente

estoy trabajando con dos libros en excel y en un tercer libro tengo que consolidar la información de los otros dos libros, quiero crear una macro que me tome los valores de la siguiente forma

libro 1

[TABLE=class: grid, width: 500]

[TR]

[TD][/TD]

[TD]cola[/TD]

[TD]colb[/TD]

[TD]colc[/TD]

[/TR]

[TR]

[TD]flia1[/TD]

[TD]a[/TD]

[TD] dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila2[/TD]

[TD]b[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila3[/TD]

[TD]c[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila4[/TD]

[TD]d[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila5[/TD]

[TD]e[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila6[/TD]

[TD]f[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila7[/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[TR]

[TD]fila8[/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[/TABLE]

libro 2

[TABLE=class: grid, width: 500]

[TR]

[TD][/TD]

[TD]cola[/TD]

[TD]colb[/TD]

[TD]colc[/TD]

[/TR]

[TR]

[TD]flia1[/TD]

[TD]g[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila2[/TD]

[TD]h[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila3[/TD]

[TD]i[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila4[/TD]

[TD]g[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila5[/TD]

[TD]k[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila6[/TD]

[TD]l[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[/TABLE]

libro 3

[TABLE=class: grid, width: 500]

[TR]

[TD][/TD]

[TD]cola[/TD]

[TD]colb[/TD]

[TD]colc[/TD]

[/TR]

[TR]

[TD]flia1[/TD]

[TD]a[/TD]

[TD] dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila2[/TD]

[TD]b[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila3[/TD]

[TD]c[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila4[/TD]

[TD]d[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila5[/TD]

[TD]e[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila6[/TD]

[TD]f[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila7[/TD]

[TD]g[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila8[/TD]

[TD]h[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila 9[/TD]

[TD]i[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila10[/TD]

[TD]j[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila11[/TD]

[TD]k[/TD]

[TD]no[/TD]

[TD]prop[/TD]

[/TR]

[TR]

[TD]fila12[/TD]

[TD]l[/TD]

[TD]dip[/TD]

[TD]prop[/TD]

[/TR]

[/TABLE]

es como si fuera a copiar y pegar la información de los dos primeros libros en el tercero, pero tengo que tener en cuenta que no se me puede perder información como en el libro uno la fila 7 y 8 están vacías el el libro 3 puedo utilizar esas filas(7 y 8) para pegar desde ahí la información de la fila 1 del libro 2

de antemano agradezco su colaboración

Invitado Gengis Khan
publicado

Hola:

Pruebe con esta macro:


'
Sub Juntar()

Hoja3.Cells.Clear
Uf1 = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
Uf2 = Hoja2.Range("A" & Rows.Count).End(xlUp).Row
Hoja1.Range("A1:C" & Uf1).Copy Hoja3.Range("A1")
Hoja2.Range("A1:C" & Uf2).Copy Hoja3.Range("A" & Uf1 + 1)

End Sub

[/CODE]

Saludos

publicado

Muchas gracias el código es justo lo que necesitaba.

Tu me podrías explicar un poco los comandos, hasta ahora estoy comenzando a programar en vba y hay algunos comandos que no entiendo muy bien.

muchas gracias

- - - - - Mensaje combinado - - - - -

pregunto como funciona el codigo ya que deseo adicionar mas hojas y al adicionarla no se como llamar esta función sin que me sobre escriba el valor en una fila anteriormente copiada. no entiendo bien esta parte del codigo

Hoja1.Range("A1:C" & Uf1).Copy Hoja3.Range("A1") Hoja2.Range("A1:C" & Uf2).Copy Hoja3.Range("A" & Uf1 + 1)Hoja4.Range("A1:C" & Uf3).Copy Hoja3.Range("A" & Uf2 + 1 )

Archivado

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

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.