VBAサンプル集
「値の貼り付け」をショートカットに登録(OnKey)

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
公開日:2013年5月以前 最終更新日:2013-05-15

「値の貼り付け」をショートカットに登録(OnKey)


コピーペーストの質問で、よく目にするのは、値の貼り付けが面倒だというものです。


どうも、ショートカットが無いからのようです。

ネットを調べて見たのですが、どれもしっくりこないので、作ってみました。

いろいろな方法が考えられるのですが、

簡単かつ直ぐに使えて、他の人にも配布可能なものが良いと思います。

新規ブックを作成します。

VBEで、ブックモジュールに

Private Sub Workbook_Open()
  Application.OnKey "^+V", "ValuePaste"
End Sub


"^+V"


の部分がショートカットキーになります。

ここでは、Ctrl+Shift+V、になります。

Ctrl+Vが貼り付けなので、覚えやすいかなと、これにしてみました。

次に、標準モジュールに



Sub ValuePaste()
  Dim vClip As Variant
  On Error Resume Next
  vClip = Application.ClipboardFormats
  If vClip(1) = True Then
    Beep
    Exit Sub
  End If
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


vClip = Application.ClipboardFormats
If vClip(1) = True Then
  Beep
  Exit Sub
End If

ここの部分は、クリップボードが空の場合の処理です。


一応、ビープ音を鳴らしています。

Ctrl+Vでも、クリップボードが空の場合は鳴っていますので。

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
が実際に、値の貼り付けをしている部分です。

マクロの記録で記述できます。

セルのコピーが無く、テキストだけが、システムのクリップボードに入っている場合、

Pasteがエラーになるので、先頭に、

On Error Resume Next
を入れています。

このような場合は、Ctrl+Vで貼り付けが可能なので、対応していません。

正確に対応したければ、クリップボードの中身を調べる必要がありますが、

簡単には、

If Err then
  Selection.Paste
End If

を下につければOKなはずです。(すみません、確認していません。)

このブックをアドインで保存します。

名前を付けて保存で、

Excel VBA 解説


「Excel アドイン」または、「Excel 97-2003 アドイン」で保存します。

名前は自由ですが、ここでは、「ValuePaste」にしました。

保存先のファルダは、自動的に、「Adins」が選択されます。

一旦、エクセルを終了して下さい。

次に、エクセルを起動して、適当なブックまたは、新規ブックを開きます。

アドインを有効にします。

2007以降は、「オフィスボタン」→「Excelのオプション」→「アドイン」

2003は、「ツール」→「アドイン」

アドインの一覧から、上で付けた名前にチェックして有効にします。

以上で準備は完了です。

Ctrl+Cでコピー

Ctrl+Shift+V

これで、値の貼り付けが可能になります。

このアドインは配布可能です。

Adinsのフォルダにいれて、アドインを有効にすれば、どのPCでも利用可能です。

いかがでしょうか。

これなら、特に気にすることなく、誰でも利用できます。

頻繁に値の貼り付けをする人は、試してみると便利ですよ。


※Excel2007以降の場合
「形式を選択して貼り付け」のショートカットがExcel2007から追加されました。
Ctrl + Alt + V
このショートカットで、形式を選択して貼り付けのダイアログが表示されます。
従って、
Ctrl + CCtrl + Alt + V → 下向き方向キー(2回Enter
これで値の貼り付けになります。



同じテーマ「マクロVBAサンプル集」の記事

カラーのコード取得(256RGB⇔16進変換)
時刻になったら音を鳴らして知らせる(OnTime)
指定文字、指定数式でジャンプ機能(Union)
「値の貼り付け」をショートカットに登録(OnKey)
「セルの結合」をショートカットに登録(OnKey)
半角カナのみ全角カナに変換する
計算式の元となる数値定数を消去する(Precedents)
Beep音で音楽(Beep,Sleep)
日付の検索(配列の使用)
ストップウォッチ(1/100秒)(Timer)
ストップウォッチ改(1/100秒)(Timer)


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ