あなたの「欲しい」だけを狙い撃ち!PasteSpecial魔法の貼り付け術

Excel・VBA・AI活用
スポンサーリンク
スポンサーリンク

 「Excelでコピーしたあと、貼り付けたら表がぐちゃぐちゃになった……」 そんな経験、あなたにもありませんか?

 普通のコピー&ペーストは、いわば「全部盛りセット」です。でも、現場では中身の数字だけ」欲しかったり、逆に「枠線と色だけ」コピーしたかったりすることがよくあります。

 そんな時、あなたの強力な味方になるのがVBAの「PasteSpecial(ペーストスペシャル)」です。

本記事はGeminiPROを用いて執筆しています。

1. PasteSpecialってなに?

 一言でいうと、「コピーしたデータの中から、あなたの好きなパーツだけを選んで貼り付ける」機能です。

 普通のペーストが「幕の内弁当を丸ごと買う」ことだとしたら、PasteSpecialは「お弁当の中から、エビフライだけを抜き取って自分のお皿に載せる」ような、自由自在なテクニックなんです。

2. あなたがよく使う「3つの魔法」

 このコードを使う時は、まず普通に Copy をしたあと、次の行に「どう貼り付けたいか」を命令します。あなたが特によく使う3つのパターンを見てみましょう。

① 「計算式」を捨てて「数字」だけにする

 「計算式が入ったセルをコピーして別の場所に貼ったら、エラー(#REF!)が出ちゃった!」……そんな時はこれです。

Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteValues '値だけ貼り付け

② 「見た目(色や枠線)」だけをマネする

 中身の数字は書き換えたくないけど、プロっぽいきれいなデザインだけコピーしたい時に使います。

Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteFormats '書式(見た目)だけ貼り付け

③ 「全部」をスマートに貼り付ける

 普通のコピペと同じですが、あえて「形式を選んでるぞ」と意識したい時に。

Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteAll '全部貼り付け
スポンサーリンク

3. 具体的な例題:あなたの家計簿で考えてみよう

例えば、あなたがExcelで家計簿をつけているとします。 「1月」のシートには、合計を出すための難しい計算式がいっぱい入っています。

この「合計金額」だけを、まとめ用の「年間グラフシート」に持っていきたい時、普通のコピペだと計算式まで付いてきてしまい、計算が狂ってしまいます。 そこで xlPasteValues(値だけ貼り付け) を使うのです。そうすれば、計算式は置いてきて、「確定した金額」だけを正しく運ぶことができます。


4. [Paste:=]の一覧

 Paste:= のあとに書き換えるだけで、あなたの思い通りに貼り付け内容が変わります。特によく使うものをまとめました。

書く言葉(定数)あなたができること(貼り付け内容)
xlPasteAll全部盛り。 内容、色、枠線、すべてをコピーします。
xlPasteValues中身の数字だけ。 計算式を消して、結果だけが欲しい時に。
xlPasteFormats洋服(見た目)だけ。 背景色、フォント、枠線だけをコピー。
xlPasteFormulas計算式だけ。 数式そのものをコピーしたい時に。
xlPasteCommentsメモだけ。 セルに付けた「メモ(コメント)」だけをコピー。
xlPasteColumnWidths列の幅だけ。 表の横幅をピッタリ合わせたい時に超便利。
xlPasteValidation入力ルールだけ。 設定したドロップダウンリストなどをコピー。
xlPasteAllExceptBorders枠線以外全部。 表のデザインはそのまま、外枠だけ消したい時に。
スポンサーリンク

5. 使うための準備

  • 必要なExcelバージョン: すべてのバージョンで使えます。昔のExcelでも今のExcelでも変わらない、安定の技術です。
  • 前提として知っておくこと
    • Copyメソッド: まず「コピー」という動作をさせてからでないと、この魔法は使えません。
    • Copyについて学ぶ →VBA【Copy】について簡単に解説
    • 後片付け: コピーが終わったら Application.CutCopyMode = False と書くと、画面の点々が消えてスッキリしますよ!

コメント

タイトルとURLをコピーしました