Più o meno così:

codice:
Sub Macro1()
    
    Dim f1 As Worksheet
    Dim f2 As Worksheet
    Dim f3 As Worksheet
    
    Dim fine As Boolean
    Dim riga As Long
    Dim r3 As Long
    
    Set f1 = Sheets("Foglio1")
    Set f2 = Sheets("Foglio2")
    Set f3 = Sheets("Foglio3")
    
    riga = 0
    r3 = 0
    Do While Not fine
        riga = riga + 1
        If f1.Cells(riga, 3) = f2.Cells(riga, 1) Then
            r3 = r3 + 1
            f3.Cells(r3, 1) = f1.Cells(riga, 3)
            f3.Cells(r3, 2) = f1.Cells(riga, 4)
        End If
        
        fine = verificaSeELaFine
    Loop
    
End Sub
Non ho verificato se funziona ma l'idea è questa...