Excel VBA オートフィルタ抽出箇所のみにペースト

excelロゴ

excelの作業中、オートフィルタはデータ分析業務において重要な機能です。すごく使いやすいのですが、1点だけすごくイラつくところがあります。それは、フィルタで抽出した箇所のみコピー(Alt +; → ctrl + c)はできるのですが、そのコピーしたデータを他の列にコピーしようとしても表示されている場所のみにペーストができないのです。その、不満を解消するためにvbaで簡単なコードを作成しました。上記解説だけでは不満箇所がわかりにくいかもしれないので、使い方も含め説明します。

コード

マクロを動かす前に

クリップボードを操作するDataObjectを使うためには、Microsoft Forms 2.0 Object Libraryを参照しなければエラーになってしまいます。以下の手順で設定しておきましょう。

開発 → VBE起動 → ツール → 参照設定 → Microsoft Forms 2.0 Object Libraryにチェックをいれる

参照設定説明画像
参照設定説明画像
参照設定説明画像

使い方

商品名列のいちご、キャベツ、たまねぎ、にんじん、ピーマンのなかからいちごのみ抽出

オートフィルタ抽出箇所のみにペースト説明画像1

本来であれば、抽出箇所のみコピーを使い他の行に単純にペーストしても、表示されている箇所のみにペーストは不可能

オートフィルタ抽出箇所のみにペースト説明画像2

そこで、抽出箇所のみコピー後、貼り付けたい箇所を全て選択し、上記コードをvbeで動かす。すると、下記のように表示されている箇所のみにペーストが可能になる

オートフィルタ抽出箇所のみにペースト説明画像2

アドインダウンロード

アドインを作成しました。是非利用して見て下さい。(アドインの登録方法は以下を参照)

Excel vba の便利なツールをアドインに登録



スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする