VBAでセルのコピペ時に値や書式のみを貼り付ける

右クリックでの値のみ貼り付けが面倒

セルのコピペ、やりますよね。

そのときに、元セルの値だけ貼り付けたい場合は、右クリックして、貼り付けのオプションから「値のみ」を選択して貼り付けます。

または、形式を選択して貼り付けダイアログを表示して、値のラジオボタンにチェックを付けてOKボタンを押します。

凄まじく面倒です。そして、とても時間がもったいないです。

しかも貼り付けオプションで表示されるアイコンが何を意味しているのか分かりにくいのも難点です。覚える気にもなりません。

なので私は値のみや書式のみを貼り付ける関数を作って、クイックアクセスツールバーに登録しています。

以下ではその関数を紹介します。

値のみを貼り付ける関数

コピー元のセルの値のみを貼り付ける関数です。

ただ、実際のコピペでは日付や時刻などの書式とセットになった値の場合は日付形式や時刻形式で貼り付けたいのが普通です。

値のみの貼り付けにしてしまうと、シリアル値を貼り付けてしまい、一体何なのか分からなくなってしまいますので、そこは「みやすさ」を優先させて、数値の場合は書式も一緒に貼り付けるようにしています。

厳密に値のみを貼り付けたい場合は「xlPasteValuesAndNumberFormats」を「xlPasteValues」に変更してください。

書式のみを貼り付ける関数

考え方は上の値のみの書式版です。値は貼り付けず、表示形式や枠線や背景色などを貼り付けます。



使い方

上の2つの関数の使い方は両方同じです。

  1. まずコピーしたいセル範囲を選択してCtrl + Cなどでコピーします。
  2. そのあとに、貼り付けたいセルを選択して、上の関数を実行します。

これだけです。

クイックアクセスツールバーに登録しておくととても便利なのでおすすめです。

その他、貼り付け時の形式

上の2つの関数で私自身は事足りていますが、PasteSpecialメソッドでは他の条件での貼り付けも可能です。

コピーや切り取りしたセルのペースト」のページで詳細を書いていますので参考にしてください。

関連記事

サブコンテンツ

このページの先頭へ