Copiar filas a otra hoja utilizando filtro

26/02/2011 - 23:35 por Uyyy | Informe spam
Hola.
Tengo una hoja(excel 2003) importada desde un programa y necesito pasar
ciertas filas/columnas a otra hoja bien formateada. Para ello necesito que
la columna 4 sea el filtro. Es decir, si en la columna 4 el valor es XX
entonces copia todas las filas que tengan ese valor a la otra hoja destino
pero sin incluir los datos de la columna 2. Si contiene DD igual. He probado
con autofiltro y luego copiar las filas que me muestra a la otra hoja pero
me copia todas, tanto si contienen XX o cualquier otro valor. Con filtro
avanzado igual.

Alguna idea ?
Gracias.


Hoja origen

Columna1 Columna 2 Columna 3 Columna 4

Fila1 a b c XX
Fila2 d e f XX
Fila3 g h i DD


En la hoja destino quiero que me ponga:

Modelos tipo XX


a c XX
d f XX

Modelos tipo DD

g i DD
 

Leer las respuestas

#1 Cacho R
27/02/2011 - 01:44 | Informe spam
Hola! Uyyy
Lo puedes resolver de varias maneras. Por ejemplo:

_____________________

Sub Macro208()
With [a1].CurrentRegion

ActiveSheet.AutoFilterMode = False
[1:1].Insert Shift:=xlDown

.Offset(-1).Resize(1 + .Rows.Count).AutoFilter Field:=4,
Criteria1:="xx"
.Columns(1).SpecialCells(xlCellTypeVisible).Copy Sheets("Hoja2").[a1]
Intersect(.Cells, [c:d]).SpecialCells(xlCellTypeVisible).Copy
Sheets("Hoja2").[b1]

.Offset(-1).Resize(1 + .Rows.Count).AutoFilter Field:=4,
Criteria1:="dd"
.Columns(1).SpecialCells(xlCellTypeVisible).Copy Sheets("Hoja2").[e1]
Intersect(.Cells, [c:d]).SpecialCells(xlCellTypeVisible).Copy
Sheets("Hoja2").[f1]
End With

ActiveSheet.AutoFilterMode = False
[1:1].Delete

End Sub
_____________________

Saludos, Cacho.

Preguntas similares