エクセルで範囲を指定してコピーしたいとき、「複数の離れたセルをまとめてコピーしたい」「非表示の行を除いて表示されているセルだけをコピーしたい」「フィルターをかけた状態でコピーしたい」と困った経験はありませんか。
この記事では【Excel】エクセルで範囲指定してコピーする方法(複数セル・非表示以外・非表示行を飛ばしてコピー)について解説していきます。
・非表示の行・列を除いて表示セルだけをコピーする方法
・フィルター状態で可視セルのみをコピーする方法です。
それでは詳しく見ていきましょう。
エクセルで範囲指定してコピーする方法1【複数のセルや範囲をまとめてコピーする】
複数の離れたセルや範囲を選択してコピーする方法を確認しましょう。
離れた複数のセルを選択するには、最初のセルまたは範囲をクリックまたはドラッグして選択してから、Ctrlキーを押しながら追加で選択したいセルや範囲をクリックまたはドラッグします。この操作を繰り返すことで離れた複数の範囲を同時に選択できます。

ただし、離れた複数の範囲を選択した状態でCtrl+Cを押すと「この操作は複数の選択範囲には使用できません」というエラーメッセージが表示される場合があります。これは離れた範囲の一括コピーがエクセルの通常操作では制限されているためです。
この制限を回避する方法として、選択した複数の範囲をCtrl+Cでコピーできない場合はVBAを使ってコピーする方法か、各範囲を個別にコピーして別のシートに貼り付けていく方法が現実的な対処法です。
連続した範囲を選択する場合は、開始セルをクリックしてからShiftキーを押しながら終了セルをクリックする方法か、名前ボックスにA1:D10のようにセル範囲を直接入力してEnterキーを押す方法が効率的です。

連続範囲はShiftキー+クリック、離れた範囲はCtrlキー+クリックで選択。名前ボックスに範囲を直接入力する方法も効率的。離れた複数範囲の一括コピーはVBAで対応しましょう。
エクセルで非表示行を飛ばして表示セルのみをコピーする方法
非表示の行・列を除いて、表示されているセルだけをコピーする方法を確認しましょう。
通常の範囲選択でCtrl+Cでコピーすると、非表示になっている行・列も含めてすべてのセルがコピーされます。非表示の行・列を除いて表示セルだけをコピーするには「可視セル」の選択が必要です。
可視セルのみを選択するには、まずコピーしたい範囲を選択します。次にCtrl+Gで「ジャンプ」ダイアログを開き「セル選択」をクリックします。

「選択オプション」ダイアログで「可視セル」を選択して「OK」をクリックします。

非表示のセルが選択から除外された状態になります。

可視セルの選択はAlt+;(セミコロン)のショートカットでも実行できます。コピーしたい範囲を選択してからAlt+;を押すだけで非表示セルが除外された可視セルのみの選択に切り替わります。その状態でCtrl+Cでコピーすると表示されているセルだけがコピーされます。
貼り付けは通常のCtrl+Vで実行できます。可視セルのみをコピーした内容は非表示行を除いた状態で連続して貼り付けられます。
範囲選択後にAlt+;で可視セルのみを選択してからCtrl+Cでコピー。Ctrl+G→セル選択→可視セルでも同様に操作できます。表示されているセルだけを抽出してコピーしたい場合に活用しましょう。
エクセルでフィルターをかけた状態で可視セルのみをコピーする方法
オートフィルターで絞り込んだデータだけをコピーする方法を確認しましょう。
オートフィルターで特定の条件に絞り込んだ状態のデータをコピーする場合、前述の可視セルの選択(Alt+;)を使う方法が有効です。
フィルターをかけて絞り込んだ後、コピーしたい範囲を選択します。Alt+;を押して可視セルのみの選択に切り替えてからCtrl+Cでコピーします。別のシートやセルにCtrl+Vで貼り付けると、フィルターで絞り込まれた表示データだけが連続して貼り付けられます。
以下は絞り込み前のサンプルデータのイメージです。1行目はヘッダー行で2行目以降にデータが入力されているとします。

カテゴリ列で「食品」に絞り込んだ後、Alt+;で可視セルのみを選択してコピーすると商品Aと商品Cのデータだけが貼り付けられます。

フィルターをかけた状態でAlt+;を使わずに通常のCtrl+Cでコピーすると、非表示になっている行も含めてすべてのデータがコピーされてしまいます。フィルター後のデータをコピーする際は必ずAlt+;で可視セルのみを選択してからコピーしましょう。
フィルター後の可視データのみコピーは、範囲選択→Alt+;→Ctrl+Cの手順で実行。通常のCtrl+Cでは非表示行もコピーされるため、必ずAlt+;で可視セルのみを選択してからコピーしましょう。
エクセルで名前ボックスを使って範囲を指定してコピーする方法
名前ボックスを使って正確に範囲を指定してコピーする方法を確認しましょう。
数式バーの左側にある名前ボックスにセル範囲を直接入力してEnterキーを押すと、指定した範囲が選択されます。たとえばA1:D10と入力してEnterキーを押すとA1からD10の範囲が選択されます。複数の離れた範囲を指定する場合はカンマで区切って入力します(例:A1:C10,E1:G10)。

大きな表で特定の範囲をマウスでドラッグして選択するのが難しい場合は、名前ボックスへの直接入力が効率的です。
名前定義された範囲は名前ボックスのドロップダウンから選択して素早く選択範囲を指定できます。よく使う範囲に名前を定義しておくことで、大量のデータを扱うシートでも素早く目的の範囲を選択してコピーできます。
Ctrl+Shift+Endを押すとデータが入力されている最終セルまで選択範囲を一気に拡張できます。大量のデータをすべてコピーしたい場合に活用しましょう。
名前ボックスに範囲を直接入力してEnterキーで選択。複数範囲はカンマ区切りで指定可能。名前定義した範囲はドロップダウンから素早く選択できます。Ctrl+Shift+Endで最終セルまで一気に選択範囲を拡張しましょう。
エクセルでVBAを使って範囲指定してコピーする方法
VBAを使って複数の離れた範囲を効率よくコピーする方法を確認しましょう。
以下は可視セルのみをコピーして別のシートに貼り付けるサンプルコードです。
Sub 可視セルのみコピー()
Dim srcSheet As Worksheet
Dim dstSheet As Worksheet
Dim visibleRange As Range
Set srcSheet = Sheets("Sheet1")
Set dstSheet = Sheets("Sheet2")
'可視セルのみを選択してコピー
Set visibleRange = srcSheet.Range("A1:D100").SpecialCells(xlCellTypeVisible)
visibleRange.Copy
'貼り付け先に値のみ貼り付け
dstSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
MsgBox "可視セルのコピーが完了しました。"
End Sub
このコードはSheet1のA1からD100の範囲の可視セルのみをコピーして、Sheet2のA1を起点に値のみで貼り付けるものです。SpecialCells(xlCellTypeVisible)を使うことでVBA上でも可視セルのみを選択してコピーすることができます。フィルターや行の非表示が設定された状態でも表示されているセルだけを正確にコピーできます。
まとめ エクセルで範囲指定してコピー(下まで一気に・一部・必要な部分だけ)
エクセルで範囲指定してコピーする方法をまとめると
・複数セルの選択:連続範囲はShift+クリック・離れた範囲はCtrl+クリック、名前ボックスへの直接入力でも範囲指定が可能
・可視セルのみのコピー:範囲選択後にAlt+;で可視セルのみを選択してからCtrl+Cでコピー
・フィルター後のコピー:フィルターで絞り込んだ後に範囲選択→Alt+;→Ctrl+Cで表示データのみをコピー
・名前ボックスでの範囲指定:セル範囲を直接入力してEnterキーで選択、名前定義した範囲はドロップダウンから選択
・VBAによる自動化:SpecialCells(xlCellTypeVisible)で可視セルのみを選択してコピー、フィルター・非表示行がある状態でも正確に対応
可視セルのみをコピーするAlt+;のショートカットはフィルターや非表示行を多用するシートで特に役立ちます。通常のCtrl+Cでコピーすると意図せず非表示のデータまでコピーされてしまうため、表示データだけを扱う場合は必ずAlt+;を使う習慣をつけましょう。
名前ボックスを活用した範囲指定やVBAによる自動化も組み合わせることで、大量データや複雑な条件でのコピー作業を大幅に効率化できます。それぞれの方法を状況に合わせて使い分けながら、スムーズなデータ管理を実践していきましょう。


コメント