可視セルのみ選択コピー(テーブルは要注意)
非表示のセルはコピーせずに、表示されているセルのみコピーしたい。
こういうことは多いです。
といいますか、コピーする場合は表示されているセルのみコピーしたいのが普通です。
非表示行、非表示列


※以下では行の非表示のみ例示していますが、列非表示の場合も同様です。
単純に選択してコピー

(10行は選択範囲外なのでコピーされない)

Range("B2:D9").Copy Destination:=Range("B21")
可視セルのみ選択してコピー
Alt + ; (セミコロン)
ショートカット一覧

(Ctrl + C)


Range("B2:D9").SpecialCells(xlCellTypeVisible).Copy Destination:=Range("B21")
フィルター


単純に選択してコピー


Range("B2:D9").Copy Destination:=Range("B21")
Range("B2:D9").SpecialCells(xlCellTypeVisible).Copy Destination:=Range("B21")
どちらも同じ結果になります。
範囲を広げて選択コピー


テーブル


単純に選択してコピー


Range("B2:D9").Copy Destination:=Range("B21")
Range("B2").ListObject.Range.Copy Destination:=Range("B21")
どちらにしても、非表示になっている行もコピーされてしまいます。
コピー(Copyメソッド)ではテーブルの絞り込みで非表示になった行が除外されません。

Range("A2:D9").SpecialCells(xlCellTypeVisible).Copy Destination:=Range("A21")

範囲を広げて選択コピー


Alt + ; (セミコロン)

(Ctrl + C)


Range("A1:E11").SpecialCells(xlCellTypeVisible).Copy Destination:=Range("A21")
テーブルをフィルターした結果をコピーする場合は、可視セルの指定、
.SpecialCells(xlCellTypeVisible)
これを忘れずに指定してください。
同じテーマ「エクセル基本操作」の記事
日付表示の桁位置を揃える
覚えておきたいエクセルの操作:Enter編
覚えておきたいエクセルの操作:入力・編集
覚えておきたいエクセルの操作:ジャンプ
覚えておきたいエクセルの操作:数式のコピー
覚えておきたいエクセルの操作:文字列数値を数値化
覚えておきたいエクセルの操作:図形(オートシェイプ)
ハイパーリンクを絶対パスで保存する方法
入力時に勝手に付くハイパーリンクを消す方法
重複削除しユニークデータ作成(フィルターオプションの設定)
可視セルのみ選択コピー(テーブルは要注意)
新着記事NEW ・・・新着記事一覧を見る
可視セルのみ選択コピー(テーブルは要注意)|エクセル基本操作(2025-04-16)
WshNetwork(ネットワークドライブの割り当て等)|VBA技術解説(2025-04-09)
TRANSLATE関数(翻訳) DETECTLANGUAGE関数(言語識別)|エクセル入門(2025-04-08)
QRコード、バーコード作成の覚え書き|エクセル関数応用(2025-04-05)
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。