マクロ講座16回 形式を選択して貼り付け値の貼り付けマクロを作る

形式を選択して貼り付け値の貼り付けマクロ

形式を選択して貼り付け
形式を選択して貼り付け

リンクユニット


マクロ 16回

マクロマクロ講座16回 形式を選択して貼り付け

「形式を選択して貼り付け」をショートカットキーで行いたい。
こんなこと考えたことありませんか?
誰か知ってるんじゃないかと思って検索してみたり・・・
(サンプルファイルは、こちらから マクロ講座16回サンプルデータ

ところが、残念なことに、
一発でできるショートカットキーというのは、ないんですね。

手順を踏んでもいいいのなら、長いショートカットキーがあります。


管理人は、いつもこれなんですが↑。

マウスを持たないで済むというだけで、ショートカットキーとは、いささか言いがたいです。
(慣れれば、どってことないですが・・・)

で、結局どうするかっていうと、マクロボタンをつくっちゃう。

値の貼り付けボタンを作るぞ!

というわけです。
管理人は、このボタンが好きでけっこう使ってます。

値の貼り付けのマクロの記録をしてみましょう。 

以下のような売上表から、合計額の欄の金額のみを、 形式を選択して貼り付けから、値のみ貼り付けを 隣のF列にしてみましょう。
(1)初めに、コピーもとの合計欄(E2:E4)を選択して、コピーします。
(1)初めに、コピーもとの合計欄(E2:E4)を選択して、コピーします。

(2)マクロの記録を開始する前に、コピー先のセル範囲を選択しておくのを忘れました。
(3)マクロの記録を開始して、マクロの記録ダイアログに名前を記入、必要に応じてショートカットキーも設定します。 マクロの名前は、練習ですから、つけなくてもいいのですが、   「値の貼り付けマクロ」など、内容が分かる名前にしておくと後で困りません。
(4)次に、コピー先のセル範囲(F2:F4)を選択します。
そして右クリック。
(4)表示されるコンテキストメニューから、形式を選択して貼り付けの値の貼り付けを選択します。
(5)値が貼り付けられたら、マクロの記録を終了します。
(6)記録したマクロのコードを見てみましょう。
Sub Macro1()
    Range("F2:F4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Range("F2:F4").Select
の部分は、貼り付け先を選択したところが記録されてしまっただけですので、汎用的につかうのであれば不要です。
また Operation:=xlNone, SkipBlanks:=False, Transpose:=False
これらのコードも今回は不要ですが、コードの説明は次回にしますね。
Sub Macro1()
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

マクロにショートカットを設定

以下のコードでは値の貼り付けマクロにショートカットキーを設定しています。

 Ctrl+tにしました。

既存のショートカットと競合しなければ、お好きなキーでかまいません。
競合するときは、Ctrl+Shift+~~ で対処もできます。
 OKをクリックしてマクロの記録をスタートさせます。
このマクロは、必ず、

(1)初めに、コピー元の合計欄(E2:E4)を選択して、コピーします。
(2)次に、コピー先のセル範囲(F2:F4)を選択します。 
(3)ユーザー設定したショートカットを実行
Ctrl+t

値の貼り付けが実行されましたね。
サンプルでは、専用のボタンを作成しています。ボタンを押しても同様の結果がでます。  
本日は、これにて終了です。 That's it.