VBA入門
マクロの記録

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
最終更新日:2021-08-08

第3回.マクロの記録


エクセルのマクロを説明する上では、まず最初に、
「マクロの記録」を説明しなければなりません。


マクロの自動記録とも言われたりしますが、
つまりは、エクセルの手動での操作が自動記録されるものです、
もちろん、マクロの言語であるVBAで記録されます。

実際には、マクロの記録から作成されたマクロVBAコードを修正して使う事はほとんどしません。
と言いますか、そういう使い方はあまりしない方が良いでしょう。

ある操作をマクロVBAで書きたい時に、書き方が解らない、、、
こういう時に、それを調べるといった使い方が主になります。
その為には、とりあえず、「マクロの記録」は使えるようにしておく必要があります。


マクロ記録の限界

・ステートメントや関数は記録されない
 ただし、Withステートメントのみ記録されます。

・不要な設定まで記録される
 操作で変更していないものまで記録されます。

・全てが記録されるわけではない
 ダイアログボックスを表示する操作は記録されません。

マウスとキーボードで操作した結果、
Excelのブック・シート・セルに与えた影響をVBAコードで記録しているに過ぎません。
従って、マウスとキーボードで操作出来ないものは記録できません。


「マクロの記録」の操作方法

マクロの記録

「開発」タブ→「コード」グループ→マクロの記録
マクロ VBA Excel エクセル


ステータスバー→マクロの記録
マクロ VBA Excel エクセル


「マクロの記録」ダイアログボックス

マクロ VBA Excel エクセル

マクロ名
標準では、「Macro1」「Macro2」と連番になります。

名前は変更できますが、以下の規則があります。
・名前の先頭は、英文字(大文字、小文字、全角、半角)、ひらがな、かたかな、漢字
・空白は使えない
・記号は、_(アンダーバー)のみ使用可能


ショートカット キー
記録したマクロにショートカットキーを設定できます。

Excel標準のショートカットキーを指定すると、置き換わります。
すでにそのブックでマクロ記録で使ったショートカットキーは使えません。

設定されているショートカットを見るには、
「開発」タブ→「コード」グループ→「マクロ」→オプション

マクロの保存先
マクロの記録を保存するブックを指定します。

・個人用マクロブック
 この下の項目で説明しています。
・新しいブック
 新規ブックが挿入される。
・作業中のブック
 今操作しているブック。

説明
記録されるVBAコードに説明文が入ります。


記録終了

「開発」タブ→「コード」グループ→マクロの記録
マクロ VBA Excel エクセル


ステータスバー→マクロの記録
マクロ VBA Excel エクセル


相対参照で記録

マクロ VBA Excel エクセル

マクロの記録中でも変更できます。

A1がアクティブな状態から始めたとして、B2セルを選択すると、
相対参照にしていない場合は、
Range("B2").Select
このように記録されます。

「相対参照で記録」にすると、
アクティブセルからのOffsetで記録されます。
ActiveCell.Offset(1, 1).Range("A1").Select
このように記録されます。

相対記録を使う事はあまり無いと思います。


個人用マクロブック

個人用マクロブックは、Excel起動と同時に開かれます。
従って、個人用マクロブックのマクロは、全てのブックで使用できます。
個人用マクロブックは、標準で非表示になっています。

個人用マクロブックの保存されている場所
Windowsのバージョンによってフルパスは変わりますが、
XLSTARTフォルダ」と呼ばれる特別なフォルダに、
PERSONAL.xlsb」というファイル名で保存されます。

「XLSTARTフォルダ」内のブックは、Excel起動と同時に読み込まれます。


VBAでの書き方が分からない時に調べる方法

VBAでの書き方が分からない時は、

・ヘルプを見る
・ネットで検索する
・本を調べる

このようになると思いますが、
そもそも、何を調べてよいかが分からないものです。

ネットで検索しても、なかなか望むものがヒットしないのは、
調べているキーワードが、望むものを正しく表していないからです。
これを解決するには、「マクロの記録」が重宝します。

・「マクロの記録」で、やりたいことを手動で操作
・記録されたVBAコードを見てみる
・キーワードを探す
・不明な単語はネットで調べる

このようにしていけば、必ず目的にたどり着けるはずです。

本サイト内での検索

本サイトのページ下部にある「Google カスタム検索」を使っていただければ、
本サイト内の該当ページが一覧で表示されますので、ぜひ活用してください。

マクロVBA エクセル

Googleでの検索方法

VBAで調べものをする場合、まずは「Office VBA リファレンス」を読んでください。
「vba ○○○」だけでは余分なサイトが出てきてしまうので、docsを付けてください。
vba ○○○ docs
日本語訳がおかしいと思ったら英文を読みましょう。
/ja-jp/

/en-us/ … /en/ だけでも良い。

このリファレンスは読みづらいかもしれません。
でも少しずつ慣れてください。
慣れれば読むのも苦にならなくなります。
易しい解説ページを探すときは、「docs」を外して再検索してください。
本サイトが出てくることも多いと思います。




同じテーマ「マクロVBA入門」の記事

VBAの基礎・基本の要約
第1回.マクロとは?VBAとは?VBAでできること
第2回.まずはマクロVBAを使う準備
第3回.マクロの記録
第4回.マクロはどこに書くの(VBEの起動)
第5回.VBEのオプション設定(Option Explicit)
第6回.とにかく書いてみよう(Sub,End Sub)
第7回.マクロを実行するには(F5)
第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)
第9回.Rangeでのセルの指定方法
第10回.Range以外の指定方法(Cells,Rows,Columns)


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

列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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