Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

コピー&ペーストは、データ管理において最もよく使われる操作のひとつです。Excelでは通常の状態であれば簡単にコピペができますが、フィルタ機能が適用されていると話は別です。非表示の行まで一緒に貼り付けてしまったり、意図しないセルにデータが入ってしまったりと、思わぬトラブルが起こりがちです。

この記事では、フィルタが適用された状態でも正しくコピー&ペーストを行うための5つの方法を解説します。説明には、複数都市の店舗(スーパーマーケット)における特定の果物の価格データを使用します。

フィルタ適用時にコピー&ペーストする5つの方法

方法1:フィルタ済みのセル範囲をそのままコピーする

まずは基本となる方法です。フィルタで絞り込んだデータ範囲をコピーし、フィルタがかかっていない別の場所に貼り付けます。ここでは「New York」店のデータだけを抽出してみましょう。

手順1:

  • 「Store」列見出しの矢印(フィルタボタン)をクリックします。
  • 一覧からNew Yorkのみにチェックを入れます。
  • OKを押して確定します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

以下のように、New York店のデータだけが表示されます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順2:

  • 表示されているNew Yorkのデータ範囲をすべて選択します。
  • Ctrl+Cでデータをコピーします。このとき、非表示行は自動的に除外され、表示されているセルだけがコピーされます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順3:

  • 貼り付け先のセル(ここではB18)を選択します。
  • Ctrl+Vで貼り付けます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

これで、New York店のデータだけをきれいに抽出できました。

方法2:フィルタで絞り込んだ複数セルに同じ値を貼り付ける

次に、フィルタで絞り込んだ複数のセルに対して、同じ値を一括で入力・貼り付けする方法を紹介します。例として、バナナの価格が改定され、全店舗で同じ価格に統一するケースを想定します。

手順1:

  • 「Fruit」列のフィルタボタンをクリックします。
  • 一覧からBananaのみを選択します。
  • OKを押します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

バナナの行だけが表示されました。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順2:

  • 17行目あたりの空いている行に、新しいバナナの価格を入力しておきます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順3:

  • 新しい価格が入力されたセルC17を選択し、Ctrl+Cでコピーします。
  • 貼り付け先となる、絞り込まれた価格セル(D8、D11、D14、D15など)をCtrlキーを押しながら選択します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順4:

  • Ctrl+Vで貼り付けます。選択したすべてのセルに同じ値が入ります。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順5:

  • 最後に「Fruit」列のフィルタを解除し、すべてのデータを再表示します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

目的のセルだけが更新され、元のデータセットが完成しました。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

方法3:フィルタデータ内でセル範囲の値をコピー&ペーストする

次は、絞り込んだデータ内で複数の値をまとめて置き換える方法です。輸送費の高騰によりDallas店の価格が改定されたケースを想定し、更新後の価格を元のデータセットに反映させます。

手順1:

  • 「Store」列のフィルタボタンをクリックします。
  • 一覧からDallasのみを選択し、OKを押します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

Dallas店のデータだけが表示されます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順2:

  • 隣に「New Price」という作業列を作成し、そこに新しい価格を入力していきます。まず既存のPrice列の値はそのままにしておきます。

手順3:

  • 作業列の先頭セル(D6など)に、対応するOrangeの新しい価格セル参照を入力します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順4:

  • Enterキーを押して確定します。

手順5:

  • セル右下のフィルハンドルを、データが続く最終行までドラッグします。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順6:

  • データセット全体を再表示するため、「Store」列のフィルタで(すべて選択)にチェックを入れ、OKを押します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

Dallas店の価格が更新された全データが表示されます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順7:

  • 動作確認のため、参照元のセル(E15など)の値を削除してみます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

参照元が空のため、対応するセルも空白になります。このままでは数式依存の状態なので、値として固定する必要があります。

手順8:

  • Ctrl+Zで直前の操作を元に戻します。
  • Price列の該当セル範囲を選択し、Ctrl+Cでコピーします。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順9:

  • 同じ範囲でマウスを右クリックします。
  • 貼り付けオプションから「値(V)」を選択します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

これで数式ではなく値として貼り付きました。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順10:

  • 最後に、作業用の「New Price」列の値を削除して完成です。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

方法4:VBAマクロを使ってフィルタ済みセルにコピー&ペーストする

操作を自動化したい場合は、VBAマクロの活用が便利です。表示されているセルだけを判定し、非表示行をスキップしながら貼り付けるコードを紹介します。

手順1:

  • 前の方法と同様に、Dallas店のデータでフィルタします。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順2:

  • 「開発」タブを開きます。
  • マクロの記録を選択します。
  • マクロ名をCopy_Paste_Dataとして新規作成し、OKを押します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順3:

  • 「マクロ」ダイアログを開きます。
  • Copy_Paste_Dataを選択し、「ステップイン」をクリックしてVBE(Visual Basic Editor)を開きます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順4:

  • コードウィンドウに以下のコードを入力します。
Sub Copy_Paste_Data()
Dim n As Range
Dim source_data_1 As Range
Dim destination_data_1 As Range
Dim source_data_2 As Range
Dim destination_data_2 As Range
Set n = Application.Selection
n.SpecialCells(xlCellTypeVisible).Select
Set source_data_1 = Application.Selection
Set destination_data_1 = Application.InputBox("Insert the destination Location:", Type:=8)
For Each source_data_2 In source_data_1
source_data_2.Copy
For Each destination_data_2 In destination_data_1
If destination_data_2.EntireRow.RowHeight <> 0 Then
destination_data_2.PasteSpecial
Set destination_data_1 = destination_data_2.Offset(1).Resize(destination_data_1.Rows.Count)
Exit For
End If
Next destination_data_2
Next source_data_2
End Sub

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順5:

  • このコードは選択範囲をコピー元として使用します。貼り付けたいセル範囲(New Price列のデータ)を事前に選択しておきます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順6:

  • タブ上の実行ボタンをクリックするか、F5キーを押してコードを実行します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順7:

  • 貼り付け先を指定するダイアログが表示されます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

下図のように貼り付け先の範囲を指定します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順8:

  • OKを押すと処理が実行されます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

New Price列の値がPrice列へ貼り付けられました。

手順9:

  • フィルタの「すべて選択」で全データを再表示します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順10:

  • 最後に「New Price」列の値を削除します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

補助データを削除しても、Price列の値には影響しません。

方法5:クイックアクセスツールバーにマクロを登録する

VBAマクロを頻繁に使うなら、クイックアクセスツールバーに登録するとワンクリックで実行できて便利です。

手順1:

  • リボン上部のクイックアクセスツールバーのユーザー設定(▼)をクリックします。
  • 「その他のコマンド」を選択します。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順2:

  • 「Excelのオプション」ダイアログが表示されます。
  • 左側でクイックアクセスツールバーを選択します。
  • 「コマンドの選択」ドロップダウンからマクロを選びます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

手順3:

  • Copy_Paste_Dataを追加します。
  • OKをクリックして完了です。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

ワークシート上部にマクロ実行ボタンが追加されました。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

補足:コピーできないときは「選択オプション」を使う

フィルタ適用中にCtrl+Cでのコピーがうまくいかない場合は、「ジャンプ」のセル選択オプションを利用しましょう。手順は以下の通りです。

  • F5キーを押すと「ジャンプ」ダイアログが表示されます。
  • 「セル選択」ボタンをクリックします。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

  • 「選択オプション」で可視セルのみを選択します。
  • OKを押せば、表示されているセルだけが選択された状態になり、正しくコピーできます。

Excelでフィルタ適用中にコピー&ペーストする5つの方法【VBAマクロも解説】

なお、ショートカットキーAlt + ;(セミコロン)でも可視セルのみを選択できるので、覚えておくと便利です。

まとめ

この記事では、Excelでフィルタが適用されている状態でのコピー&ペーストの方法を5つ紹介しました。単純な範囲コピーから、同じ値の一括入力、VBAマクロによる自動化まで、状況に応じて使い分けることで作業効率が大きく向上します。特に「可視セルのみを選択する」テクニックは、フィルタ操作全般で役立つのでぜひ活用してください。

関連記事

  • Excelでフィルタを追加する方法(4つの方法)
  • Excelフィルタのショートカットキー活用術(3つの使用例)
  • Excelで複数列を同時にフィルタする3つの方法
  • Excelで重複しない値をフィルタする8つの方法
  • Excelで複数列を個別にフィルタする方法
  • Excelのテキストフィルタの使い方(5つの例)
  • Excelでユーザー設定フィルタを使う5つの方法
  • Excelでフィルタを解除する5つの簡単な方法
  1. Excelでフィルターのドロップダウンリストをコピーする5つの方法

    Excelでフィルターのドロップダウンリストを効率的にコピーしたいとお考えなら、この記事が参考になります。ここでは、さまざまな状況に応じてフィルターのドロップダウンリストをコピーする5つの方法を詳しく解説します。それでは、本題に入りましょう。 5つの方法でExcelのフィルタードロップダウンリストをコピーする ここでは、販売担当者の名前と製品ごとの売上額が記録されたデータセットを使用します。このデータセットに対してフィルターを有効にしており、これから紹介する方法で、フィルターのドロップダウンリストをコピーする手順を説明していきます。 なお、本記事では Microsoft 365 版 Exce

  2. Chromebookでのコピー&ペースト方法まとめ|ショートカットキーからクリップボード管理まで徹底解説

    Chromebookは、軽量なOSを搭載している点と、Androidアプリをほぼ問題なく動作させられる点から、人気が高まり続けています。ノートパソコンユーザーは、映画鑑賞・ゲーム・メールの送受信・文書の読み書きといった比較的軽い作業が中心のユーザーと、本格的なプロ向けの作業を行うユーザーに大別されます。ヘビーユースにはWindowsノートPCが適していますが、Windows Core OS搭載機が登場するまでの間、軽めの作業用途にはChromebookが最適な選択肢と言えるでしょう。 ただし、多くの方はWindowsノートPCの操作に慣れているため、独自のコマンドや操作体系を持つChromeb