Extraer datos de un archivo excel a otro (automatizado)

Necesito hacer lo siguiente:

Tengo un archivo que va a ser el que consolide los datos, y varios otros archivos que me van a ir llegando diariamente.

Lo que quiero es apretar un botón, que me pida el archivo a importar, y que de ese archivo solo importe algunas celdas específicas que le indicaré (y haga lo mismo para el que sea).

Yo sé escribir en vba lo de copiar las celdas de un excel a otro, pero no sé como hacerlo genérico y que me pregunte de qué archivo quiero hacerlo.

Si me ayudan sería de mucha ayuda.

1 respuesta

Respuesta
1

A tus códigos añade estos y te pedirá el libro que deseas abrir:

libro = Application.GetOpenFilename

Gracias.

Hice esto pero me copia como texto lo que está a la derecha del signo igual, qué estaré haciendo mal?

Dim libro As String

libro = Application.GetOpenFileName

ActiveSheet.Cells(2,4)= "[libro]Hoja1!R4C5"

(¿Qué significa R4?)

A la pasada, otra pregunta, de qué otra forma escribo que quiero me la copie en la 2,4 o sea en la D2.

Muchas gracias.

El R4 es una manera de proponer la dirección de una celda, pero depende de muchos factores, tanto de selección, escritura, que la verdad nunca lo he terminado de entender, en todo caso yo siempre coloco los rangos de forma variable así que si necesito modificarlos los condiciono(talvez por hacer esto nunca he terminado de entender).

Volviendo a nuestro tema, los codigos que te pasé abren el archvo que seleccionas y colocan en la variable libro el nombre del archivo, para ayudarte con el traslado de información necesitaría saber desde que libro y desde que celda, necesitas copiar la información, y a que libro y a que celda necesitas pegar la información

Gracias.

El libro desde el que voy a sacar los datos se llama Origen, y el libro destino se llama Base.

Desde el libro Origen, quiero sacar un dato de la celda (4,6) de la Hoja1 y pegarla en Base en la Hoja2 en la celda (2,1).

Lo mismo para la celda (5,7) desde la Hoja2 de Origen, al libro Base en la Hoja2 en la celda (2,2)

gracias

Ok, estos serían los códigos que necesitas:

Workbooks(libro).Sheets("Hoja2").Range("B1").Value = Workbooks("Origen").Sheets("Hoja1").Range("F4").Value
Workbooks(libro).Sheets("Hoja2").Range("B2").Value = Workbooks("Origen").Sheets("Hoja1").Range("G5").Value

En mi ejemplo he puesto libro en lugar de origen, porque se supone que en la variable libro coloco el nombre del archivo destino.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas