この状況では、「F」の範囲の各セルをチェックしています。各セルが別の範囲「D」内のいずれかのセルと一致するかどうかを確認します。もしそうなら、このセルが存在する行番号を知り、それを(同じ行の他の列の情報と同様に)別のシートにコピーしたいと思います。一致するものが見つからない場合は、見つからなかったセルとその横に「0」が出力されます。このデータが存在する行の値を見つけるにはどうすればよいですか?
Dim lastrow As Integer
lastrow = Range("F65336").End(xlUp).Row
Dim C As Integer
C = 2
For Each cell In Range("F2:F" & lastrow)
If cell.Value = Range("D2:" & lastrow) Then
sheet2.Range("B" & C).Value = Sheet1.Range("D" & C).Value
Sheet1.Range("D" & C).Value = Sheet1.Range("F" & VALUE_OF_ROW_OF_MATCHING_CELL).Value
sheet2.Range("C" & C).Value = Sheet1.Range("H" & VALUE_OF_ROW_OF_MATCHING_CELL).Value
Else
sheet2.Range("B" & C).Value = Sheet1.Range("D" & C).Value
Sheet1.Range("C" & C).Value = 0
End If
C = C + 1
Next cell