Saltar al contenido

Copiar columnas según condición de otra columna


Recommended Posts

publicado

Amigos, necesito su ayuda:

Soy nuevo en el foro, y mi experiencia con macros es reciente, así que no tengo un claro dominio. Quiero copiar estas partidas presupuestarias de la columna "A" de la "hoja1" a la "hoja2", pero no quiero que se copien aquellas partidas que tengan la letra "E" en la columna "U" de la "hoja1".

Actualmente se copian las partidas pero no me obedece la condición "If" que le puse.

Sub Parte6a()

Worksheets("hoja1").Activate

For Z = 17 To 46

Next Z

Range("A17:A46").Select

Selection.SpecialCells(xlCellTypeConstants, 23).Select

Selection.Copy

If Cells(Z, 21) <> "E" Then

Sheets("hoja2").Activate

Range("A16").PasteSpecial xlPasteValues

End If

MsgBox "Datos introducidos correctamente"

End Sub

Les dejo el archivo adjunto para que se entienda mejor

Espero puedan ayudarme, de antemano muchas gracias!

Saludos

Partidas macros.xls

publicado

Hola Sabarg15

No se si te sirva, pero hice un código que emplea un filtro de celdas, y oculta todas las celdas de la Columna U que contengan como valor "E", luego selecciono las celdas de la Columna A que quedan visibles, las copio y pego en la hoja 2

Sub Copiar()
Sheets("hoja1").Select
Range("U13").Select
ActiveSheet.Range("$A$13:$U$47").AutoFilter Field:=21, Criteria1:="="
Range("A16").Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("hoja2").Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
End Sub[/CODE]

Ojala te sirva.

Saludos.-

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.