Macro

6 envíos / 0 nuevos
Último envío
novas83
Imagen de novas83
Offline
última acción: Hace 4 años 7 meses
alta: 19/08/2019 - 09:16
Puntos: 45
Macro

Buenos días a todos, me presento soy nuevo en el foro tengo algún conocimiento de office y espero ayudar en todo lo que pueda, lo que pasa que ahora en el trabajo estoy intentando hacer una macro pero no doy con la clave.

A ver si soy capaz de explicarme.

Necesito hacer una macro que copie datos de varios archivos excel y los copie en otro.

El problema que tengo es que los datos que quiero  que copie estan siempre en la misma celda pero quiero que los copie en celdas diferente, por ejemplo, quiero que abra el archivo y copie la celda F1 en la primera celada vacia de la columna A y que copie de la G5 en la primera celda vacia de la columna B y asi con varias.

Alguna idea?

Muchisimas gracias de antemano.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
En vez de utilizar copy/paste

En vez de utilizar copy/paste en VBA, simplemente asigna el valor a una variable.

Abres el archivo, lees el valor de la celda y lo adjudicas a una variable, así:

Set wb = Workbooks.Open(Filename:=PathName & Filename)

var = wb.sheets("hojaquequiero").cells(5,2).value

(var es una variable, hojaquequiero es el nombre de la hoja donde está el valor, y en el ejemplo estoy tomando el valor de la celda B5 --> fila 5, columna 2)

 

Finalmente, vuelves a tu libro y copias el valor en su sitio:

Thisworkbook.sheets("otrahoja").cells(45,6).value = var

(en este caso estoy pegando el valor de la variable var en la hoja del libro donde está el código que se llama otrahoja, en la celda F45)

 

Espero que sirva. Un saludo

novas83
Imagen de novas83
Offline
última acción: Hace 4 años 7 meses
alta: 19/08/2019 - 09:16
Puntos: 45
Muchas gracias, pero entiendo

Muchas gracias, pero entiendo que esta variable sirve solo para una hoja y yo lo quiero que lo haga en varias hojas con nombres diferentes, ¿servirá igual?

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Sirve para un valor cada vez.

Sirve para un valor cada vez. Repite la acción tantas veces como haga falta, cambiando lo que necesites cada vez para apuntar al dato que necesites y para copiarlo en la celda que sea.

novas83
Imagen de novas83
Offline
última acción: Hace 4 años 7 meses
alta: 19/08/2019 - 09:16
Puntos: 45
Vale gracias lo mirare,

Vale gracias lo mirare, necesitaría algo más automático pero si no lo hay, me terdré que conformar con esto.

Gracias

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Una vez lo programes, ya es

Una vez lo programes, ya es automático. A lo mejor no me he explicado bien.

Lo que te propongo es que escribas un código que copie el dato y lo pegue en su sitio, luego copie el segundo y lo coloque dónde deba... Hasta que termine con todos los datos.