Copiar la misma celda de muchas hojas de un mismo Libro Excel a otra Hoja distinta o Libro.

Tengo un archivo Excel con unas 7.000 hojas.

Necesito crear un archivo (ya sea una hoja dentro del mismo Libro o un Libro aparte), donde copiar el dato de la misma casilla en todas las 7000 hojas.

Ejemplo:

En cada hoja del Libro, en la casilla b11, tengo escrito un nombre.

Hoja 1 - [B11] Pepe

Hoja 2 - [B11] Juan

Hoja 3 - [B11] Jaime

Hoja 4 - [B11] Roberto

etc......

Conseguir en otra hoja o Libro todos los nombres de esa misma celda de cada "hoja"

Es decir:

Libro X

[A1] Pepe

[A2] Juan

[A2] Jaime

[A2] Roberto

Algo también a tomar en cuenta es que las hojas del Libro no tienen el mismo nombre y un número correlativo Es decir que no es "Hoja 1", "Hoja 2", etc... Sino que la primera es "CP 32134", la segunda es "CP 44831", tercera "CP 78809", etc...

Gracias de antemano por la ayuda pues con mis nociones básicas de Excel me estoy volviendo loco!

Respuesta

Probé la macro y me da error yo necesito hacer lo mismo pero el valor que necesito es ta en la celda F27, solo cambie el valor y error subíndice fuera de intervalo.

Luis

[email protected]

1 respuesta más de otro experto

Respuesta
1

Te mando mi solución. Al ejecutar esta macro en tu libro te creará una hoja al final de todas y la llamará xresumenx y en ella te anotará los datos que solicitas de cada una de las otras hojas.

Sub ejemplo()
'por luismondelo
Sheets.Add after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = "xresumenx"
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name <> "resumen" Then
Sheets("resumen").Range("a65000").End(xlUp).Offset(1, 0).Value = hoja.Range("b11")
End If
Next
Rows("1:1").Delete
End Sub

Por favor recuerda finalizar la consulta, es importante para el funcionamiento del foro.

Disculpa había un error de sintaxis la macro correcta es así:

Sub ejemplo()
'por luismondelo
Sheets.Add after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = "xresumenx"
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name <> "xresumenx" Then
Sheets("resumen").Range("a65000").End(xlUp).Offset(1, 0).Value = hoja.Range("b11")
End If
Next
Rows("1:1").Delete
End Sub

Muchas gracias por la respuesta y la rapidez en contestarme Luis.

El problema es que nunca he utilizado una macro en Excel. He intentado hacerlo buscando en internet pero no lo consigo.

Es un archivo bastante grande. Pesa unos 33 Mb.

Pero he pensado si te podría enviar el archivo con solo 7 u 8 hojas o algo asi.

O cualquier otra manera que consideres.

Gracias de antemano

Te adjunto un vídeo en el que te explico como hacerlo.

http://es.tbox.ws/2AXtkp

Por favor recuerda finalizar la consulta, esto es importante

Un saludo,

Si ha quedado claro finaliza la consulta

Mil gracias por la ayuda Luis, impresionante la explicación personal en el video.

Una experiencia fabulosa a través tuya en esta web de todoexpertos.com, realmente expertos si señor.

Gracias de nuevo!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas