VBA入門
マクロの記録

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
公開日:2013年5月以前 最終更新日: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って何? ・第2回.まずはマクロVBAを使う準備 ・第3回.マクロの記録 ・第4回.マクロはどこに書くの(VBEの起動) ・第5回.VBEのオプション設定(OptionExplicit) ・第6回.とにかく書いてみよう(Sub,EndSub) ・プロシージャーについて ・第7回.マクロを実行するには(F5) ・ワークシートで実行 ・第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ) ・オブジェクトとは、プロパティとは ・セルに文字を入れるとは ・第9回.Rangeでのセルの指定方法 ・第10回.Range以外の指定方法(Cells,Rows,Columns) ・Columns(列番号) ・第11回.RangeとCellsの使い方 ・第38…
第1回.マクロとは?VBAとは?VBAでできること
・マクロとは ・VBAとは ・マクロVBA学習の必要性 ・VBAによる自動化とは条件分岐しつつ処理を繰り返すだけ ・VBAでできること ・マクロVBA学習の前提知識 ・マクロVBAの学習の手引き(VBA学習順序)
第2回.まずはマクロVBAを使う準備
・Excel2003以前 ・Excel2007での「開発」タブ表示 ・Excel2010以降での「開発」タブ表示
第3回.マクロの記録
第4回.マクロはどこに書くの(VBEの起動)
・「Visual Basic Editor」の表示方法 ・標準モジュールの挿入 ・「Module1」の名称変更 ・「Module1」の削除
第5回.VBEのオプション設定(Option Explicit)
マクロを書き始める前に、出来れば設定しておいた方が良いオプションがあります。いえ、絶対に設定しておかなければならないVBEのオプション設定です、必ず最初に設定しておいてください。VBEの「ツール」→「オプション」以下の画面が出ます。
第6回.とにかく書いてみよう(Sub,End Sub)
それでは、とにかくマクロVBAを書いてみましょう。VBEで実際にマクロを書いてみましょう VBE(VisualBasicEditor)に標準モジュールを追加したら、そこにマクロを書いていきます。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。
第7回.マクロを実行するには(F5)
・VBEの画面で実行 ・ワークシートの開発タブで実行 ・ボタンや図形に登録して実行 ・マクロを実行すると
第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)
・前回書いたVBAコード ・セル番地ついて ・= 記号について ・値はValue ・オブジェクトとは、プロパティとは ・セルに文字を入れるとは
第9回.Rangeでのセルの指定方法
・複数のセル(矩形のセル範囲) ・列全体 ・行全体 ・名前定義のセル範囲 ・特殊な指定方法 ・マクロVBAで良く使う書き方
第10回.Range以外の指定方法(Cells,Rows,Columns)
・Cells(行番号, 列番号) ・Rows(行番号) ・Columns(列番号) ・RangeとCellsの関連記事


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

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




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


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


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