自動記録で「値を貼付ける」マクロを作成してみよう

1.まず、Sampleデータを作りましょう。
セルA4に今の日付と時間を表す数式 =NOW()を入力し、フォントに色を付けたりしてみましょう。
   ↓
セルA4を選択しコピーし、セルC4を選択します。
(まだ貼り付けないで!)

Excel Sheet
2.作業を「自動記録」するには。
ツールバーの、「ツール」→「マクロ」→「新しいマクロの記録」を選びます。

記録開始
マクロ名、保存先、説明を聞いてきますので、マクロ名を「値の貼付け」にします。
(分かり易い名前をつけます)
保存先は「作業中のブック」である事を確認してください。

保存先の設定
こんなマークが現れます。「自動記録中」という印です。
(記録を終了する時にボタンを押します。)


実行中!
3.さぁ、ここからの作業が記録されます。
セルC4に貼り付ける状態になっていますので、 右クリックして、「形式を選択して貼付け」を選びます。

「値」にチェックを入れ、「OK」をクリックします。

4.マクロの記録を終了します。(ここまでの作業が記録されました)
この記録終了ボタンを押すか、「ツール」→「マクロ」→「記録終了」をクリックします。



<注意>
セルA4をコピーする前に、「自動記録」を開始してしまうと、「A4をコピーして、C4に値を貼り付ける」というマクロになってしまいます。
5.見てみましょう。
セルC4に、変な数字が入ってますよね?
これは、日付のシリアル値なので、 「セルの書式設定」→「表示形式」で、日付に変えましょう。



シリアル値から、日付(時間)表示になりました。

6.記録されたマクロを見てみましょう。
「ツール」→「マクロ」→「Visual Basic Editor」を選択
「Visual Basic Editor」が開きます。


<上記マクロ(値の貼付け)の拡大図>
  Sub 値の貼付け()
     Selection.PasteSpecial Paste:=xlValues, _
       Operation:=xlNone, SkipBlanks:= False, Transpose:=False
  End Sub
< 説 明 >

Sub  〜  End Sub の間にマクロを書きます
Selection・・・選択したところに
PasteSpecial Paste・・・貼り付ける
xlValues・・・値
Operation:=xlNone・・・演算しない
SkipBlanks:=False・・・空白セルを無視しない
Transpose:=False・・・行列入れ替えしない

演算や、空白セル、行列入れ替えなどは、チェックしていない事が記録されています。 実際に、「値」だけ貼り付けるのであれば
Sub 値の貼付け()
   Selection.PasteSpecial Paste:=xlValues
End Sub

の方がいいのです。
(この様に、自動記録で書かれたマクロをちょこっと修正するといいですね。)
7.マクロボタンを作ろう
マクロの実行をボタンに登録して、ボタンを押すだけで「値を貼付け」ができるようにしましょう。

ボタンといっても色々あるのですが、実行する人が一番分かりやすいのは、 コマンドボタンだと思います。
「表示」→「ツールバー」→「ユーザー設定」 を選択し、「コマンド」をポイントする。

「分類」で「フォーム」を選択し、 「コマンド」で「ボタン」を選択。 ツールバーへドラッグ&ドロップ。

ボタンを作る時は、このボタンを押して、Excelのシート上に「ずりずりっ」として作ります。
このボタンにマクロを登録して、分かり易いタイトルに変更します。 (フォントは大きさ・色変更可能です。)




こんなボタンです
(ボタンを右クリック→「テキストの編集」で文字を変更。
文字を選択し反転させた状態で、フォントサイズ・色の変更ができます。)


<注意>
「コントロールツールボックス」の「コマンドボタン」では、マクロの登録できないので気を付けて下さい。
8.記録したマクロを実行してみよう!
マクロを実行するときは、作成したボタンを押すか、 「ツール」→「マクロ」→「マクロ実行」で、 実行するマクロを選択し、「実行」をクリック

●この「値を貼りつけ」マクロは、ボタンかショートカットで実行してください。(「おまけ」参照)

●[ツール]→[マクロ]→[マクロ実行]だとエラーになっちゃうのです。
(理由は下記の「注意」参照)


〔 例 〕 セルを選択しコピーして(範囲選択OK)、貼り付けたいセルを選択し、 上記で作成したボタンを押すか、 登録したショートカットで実行します。



〜 お・ま・け 〜
「値の貼りつけ」のマクロはショートカットで登録しておくとウルトラ便利!
登録の方法は、 「MOUS Test」の1999.8.5の日のコメントを見てみて下さい。


   注   意   
 
「値の貼付け」マクロは、コピーした後、「ツール」→「マクロ」→「マクロ実行」で実行しようとすると、 エラーになってしまいます。(エラー番号:1004)
何故かと言うと、「ツール」をクリックした時に、コピーモードが解除されてしまうのです。
なので、「コピーもしてないのに貼りつけなんかできるか!」とエラーになってしまうのでした。
ショートカットで実行できるように登録しておくといいと思います。
(私は[Ctrl]+[Shift]+[Z]で実行するように設定しています。)

CLOSE