Sub CopyVisibleRows()
Dim srcSheet As Worksheet ' 元データシート
Dim dstSheet As Worksheet ' 転記先シート
Dim filterRng As Range ' フィルター対象範囲
Set srcSheet = Worksheets("Data")
Set dstSheet = Worksheets("Result")
Set filterRng = srcSheet.Range("C3").CurrentRegion ' 見出し行を含む表
'--- 「担当者」列(3 列目)で「Mori」を抽出 ---
filterRng.AutoFilter _
Field:=3, _
Criteria1:="Mori"
'--- 可視セルのみを Result シート A1 へコピー ---
filterRng.SpecialCells(xlCellTypeVisible).Copy _
Destination:=dstSheet.Range("A1")
'--- 転記先シートの見出し行を削除(任意)---
dstSheet.Rows(1).Delete
'--- メッセージ表示 ---
MsgBox "抽出済みデータを Result シートへコピーしました。", vbInformation
End Sub
SpecialCells(xlCellTypeVisible) を併用すると、オートフィルターで抽出した行だけを確実にコピーできます。まずはサンプルコードを実行し、抽出結果が Result シートに正しく転記されることをご確認ください。列番号や抽出条件を変更するだけで、さまざまなデータ転記タスクへ応用していただけます。