Copiar filas dependiendo de condición de una columna
Esta va para DAM:
Tengo el siguiente código:
Sub CopiarColumnas()
Application.ScreenUpdating = False
cols = Array("C", "B", "D", "K", "L", "M", "H", "N", "O", "P", "Q", "R", "U", "W", "T", "F")
Set h1 = Sheets("Autor_MASTER")
Set h2 = Sheets("Reportes")
h2.Cells.ClearContents
k = 1
For J = LBound(cols) To UBound(cols)
u = h1.Cells(Rows.Count, cols(J)).End(xlUp).Row
h1.Range(h1.Cells(5, cols(J)), h1.Cells(u, cols(J))).Copy
h2.Cells(3, k).PasteSpecial xlValues
k = k + 1
Next
Application.ScreenUpdating = True
h1.Select
MsgBox "Datos copiados", vbInformation
End SubEste me permite copiar columnas especificas a otra hoja, el asunto es que tengo al final de la hoja principal una columna flag (0,1) lo que quisiera es que a partir de este codigo SOLO copie las filas que tienen el flag activo y lo que esta inactivo copie a una hoja aparte (hoja3), me facilitaste el sgte código:
Pero este copia todas las columnas y copia todo tal cual con fórmulas y no con valores.
La pregunta es, ¿Cómo puedo complementar el primer código con este segundo? Gracias.
Sub CopiarFila()
'Por.Dante Amor
Set h1 = Sheets("Hoja1") 'hoja origen
Set h2 = Sheets("Hoja2") 'hoja destino
Set h3 = Sheets("Hoja3") 'hoja destino
'
col = "S" 'columna flag
For i = 1 To h1.Range(col & Rows.Count).End(xlUp).Row
Select Case h1.Cells(i, col)
Case 1: h1.Rows(i).Copy h2.Rows(h2.Range(col & Rows.Count).End(xlUp).Row + 1)
Case 0: h1.Rows(i).Copy h3.Rows(h3.Range(col & Rows.Count).End(xlUp).Row + 1)
End Select
Next
MsgBox "Fin"
End Sub