Copiar filas de Una Hoja a otra pero si se cumple una condición

Adjunto foto. Lo que diesel es que de la hoja1 (Data) copie las filas que solo contengan como condición que la columna B sea igual a “FRS” en la hoja2 (FRS).

Respuesta
3

[Hola 

Valora la respuesta para finalizar


Va la macro

Sub copia()
    Set h1 = Sheets("Data")
    Set h2 = Sheets("FRS")
    '
    u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "B") = "FRS" Then
            h1.Rows(i).Copy h2.Rows(u)
            u = u + 1
        End If
    Next i
    Application.CutCopyMode = False
    MsgBox "fin"
End Sub

¡Gracias! 

No realiza ninguna acción. He estado mirando las fórmulas y no descubro el problema

Sube a la nube tu archivo para revisarlo

Antes prueba esto

Sub copia()
    Set h1 = Sheets("Data")
    Set h2 = Sheets("FRS")
    '
    u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
    '
    If u > 2 Then u = 2
    For i = 2 To h1.Range("B" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "B") = "FRS" Then
            h1.Rows(i).Copy h2.Rows(u)
            u = u + 1
        End If
    Next i
    Application.CutCopyMode = False
    MsgBox "fin"
End Sub

Ahora si, pero copia a partir de la fila 65 en la

hoja “Data” y toda la fila. Como es posible que sólo realice la macro en el rango C2:k62

Va la macro.

Hay que detallar siempre que columnas se van a copiar, a partir de que fila y donde se va realizar el pegado de datos, en que fila y columna... saludos!

Sub copia()
    Set h1 = Sheets("Data")
    Set h2 = Sheets("FRS")
    '
    u = 2
    '
    For i = 2 To 62
        If h1.Cells(i, "B") = "FRS" Then
            h1.Range("C" & i & ":K" & i).Copy h2.Range("A" & u)
            u = u + 1
        End If
    Next i
    Application.CutCopyMode = False
    MsgBox "fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas