Copias datos de varias hojas y quitar duplicados

12/05/2010 - 09:20 por Juan | Informe spam
Buenas.
Tengo un archivo de excel con diferentes hojas de las que quiero hacer
un resumen.
Me gustaría, en una hoja resumen, copiar los datos de la primera
columna de todas las hojas, entre las celdas A4:A50, y luego que
busque los duplicados y los elimine.
Por otro lado, las hojas de calculo las estoy completando, por lo que
es posible que en un tiempo sean más hojas. Esto significa que la idea
es buscar una manera de que busque en todas las hojas abiertas, sin
decirle yo donde tiene que buscar. ¿Es esto posible?
Supongo que habrá que hacer algún tipo de macro, pero la verdad es que
no controlo demasiado.
Muchas gracias por vuestra ayuda.
Juan

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/05/2010 - 06:01 | Informe spam
hola, Juan !

Tengo un archivo de excel con diferentes hojas de las que quiero hacer un resumen.
Me gustaria, en una hoja resumen, copiar los datos de la primera columna de todas las hojas
entre las celdas A4:A50, y luego que busque los duplicados y los elimine.
... las hojas... las estoy completando, por lo que es posible que en un tiempo sean mas hojas...



- la fila 4 son titulos ? (o el titulo esta en otra fila ?, o no importa poner algun titulo ?)
- existen celdas vacias entre las filas 4 y 50 ?
- podrian ser mas (o menos) datos que hasta la fila 50 ?

saludos,
hector.
Respuesta Responder a este mensaje
#2 Juan
13/05/2010 - 09:21 | Informe spam
Hola Héctor.
- la fila 4 son titulos ? (o el titulo esta en otra fila ?, o no
importa poner algun titulo ?)-> La fila 4 no son títulos, los títulos
están en la fila 3. Pero no, no importa poner los títulos, tan sólo
quiero el listado.
- existen celdas vacias entre las filas 4 y 50 ? ->de la celda A4 a
la celda A:50 hay un listado de nombres, aunque en realidad es hasta
la fila 40 como máximo, pero por si acaso. Así que sí que existen
celdas vacías.
- podrian ser mas (o menos) datos que hasta la fila 50 ? -> no, como
máximo es hasta la fila 40, y en general hasta la A30.

En cada hoja vienen los listados por años, y hay alumnos que repiten
de un año a otro. Me gustaría por eso, que me sacara un listado
completo de los alumnos sin repetirlos.
Muchas gracias por tu ayuda.

On 13 mayo, 06:01, "Héctor Miguel"
wrote:
hola, Juan !

> Tengo un archivo de excel con diferentes hojas de las que quiero hacer un resumen.
> Me gustaria, en una hoja resumen, copiar los datos de la primera columna de todas las hojas
> entre las celdas A4:A50, y luego que busque los duplicados y los elimine.
> ... las hojas... las estoy completando, por lo que es posible que en un tiempo sean mas hojas...

- la fila 4 son titulos ? (o el titulo esta en otra fila ?, o no importa poner algun titulo ?)
- existen celdas vacias entre las filas 4 y 50 ?
- podrian ser mas (o menos) datos que hasta la fila 50 ?

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
14/05/2010 - 01:50 | Informe spam
hola, Juan !

... los titulos estan en la fila 3. Pero no, no importa poner los titulos, tan solo quiero el listado.
... hay un listado de nombres... hasta la fila 40... por si acaso. Asi que si que existen celdas vacias.
... como maximo es hasta la fila 40, y en general hasta la A30.
En cada hoja vienen los listados por años, y hay alumnos que repiten de un año a otro.
Me gustaria por eso, que me sacara un listado completo de los alumnos sin repetirlos...



prueba con una macro +/- como la siguiente (desde un modulo estandar en el vba)
y... si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Sub RegistrosUnicos()
Dim n As Byte
Application.ScreenUpdating = False
Worksheets.Add Before:=Worksheets(1)
Range("a1:b1").Value = "Nombres"
For n = 2 To Worksheets.Count
With Worksheets(n)
With .Range(.[a4], .[a60].End(xlUp))
[a65536].End(xlUp).Offset(1).Resize(.Rows.Count).Value = .Value
End With
End With
Next
Range([a1], [a65536].End(xlUp)).AdvancedFilter xlFilterCopy, , [b1], 1
[a1].EntireColumn.Delete
[a1].Sort Key1:=[a1], Order1:=xlAscending, Header:=xlYes
Debug.Print ActiveSheet.UsedRange.Address
ActiveSheet.Name = "Listado general"
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida