本稿では、ExcelにVBAマクロを登録する手順と、登録したマクロの使用方法を共有します。
1. VBAマクロとは何か、何ができるのか 別ページ
└1-1. VBAとは?
└1-2. マクロとは?
└1-3. VBAマクロを使ってExcelでは何ができるか?
2. ExcelでVBAマクロを利用するための準備 別ページ
└2-1. ExcelがあればOK。
└2-2.「開発タブ」の表示
└2-3.「VBE画面」の説明と「マクロの保存先」
└2-4.「マクロ有効ブック」で保存
3. ExcelにおけるVBAマクロの登録と利用方法 本ページ
|
└3-1. VBAマクロを標準モジュールへ登録
|
└3-2. 登録したマクロの使用方法
|
└3-3. 標準モジュール名と登録マクロ名の名称変更
別ページで、VBAマクロを利用するための準備を確認しました。次はマクロを登録して利用することを目標に、本ページで情報を共有していきます。
まずは、Excel内の標準モジュールにVBAマクロを登録するための流れを確認します。
次に、登録したマクロを使用する流れを確認します。
最後に、標準モジュールの名前を変更する方法を共有します。標準モジュールが複数個あった場合は、モジュール名からどのようなマクロが登録されているか明確な方が、管理がしやすいと思います。
3-1. VBAマクロを標準モジュールへ登録
標準モジュールへVBAマクロを登録する流れを、実際に手を動かしながら確認していきましょう。登録といっても難しいことは何もありません。
【Excelの標準モジュールを開く】
↓
【インターネット等からVBAマクロをコピーし、標準モジュールに貼り付ける】
で完了です。Excel上で標準モジュールを表示するやり方は、 2. ExcelでVBAマクロを利用するための準備 のページより確認をお願いいたします。
Sub 指定セル範囲の文字列に対して追記()
Dim target_range As Range
Dim rng As Range
Dim supplement As String
Dim left_string As String
Dim right_string As String
supplement = "(何も入力しない場合は未記入でも可)"
On Error Resume Next
Set target_range = Application.InputBox("変更対象セル範囲を指定してください" & vbLf & _
"操作を中断する場合は【キャンセル】をクリックしてください", _
Type:=8)
left_string = InputBox("セル内の文字列に対して左側に追加する文字列を入力してください" & vbLf & supplement)
right_string = InputBox("セル内の文字列に対して左側に追加する文字列を入力してください" & vbLf & supplement)
For Each rng In target_range
rng.Value = left_string & rng.Value & right_string
Next
On Error GoTo 0
End Sub
これでマクロの登録は完了です!
標準モジュールにマクロを登録したExcelファイルは、「マクロ有効ブック」の形式で保存することをお忘れなきよう、お願いいたします。
次の項目でマクロの使用方法を確認する際に、マクロの登録ができているかどうかを確認することができます。
3-2. 登録したマクロの使用方法
3-1で標準モジュールに登録したマクロを、実際に呼び出して使用してみましょう。
今回は、標準モジュールを登録したファイルとは別のファイルから呼び出し、使用する場合を想定しております。
また、マクロの利用方法についてですが、開発タブからいちいち呼び出すのは、正直効率が悪いです。「ボタンに登録する」、「ショートカットキーに登録する」など。マクロの利用の効率化はいくつもあります。本サイトでそれらを紹介する予定は今のところ(2021/08/07現在)はございませんので、インターネットにて「VBAマクロ ボタンに登録」や 「VBAマクロ ショートカットに登録」などと調べていただければ幸いです。
このように、同時に開いているExcelファイルに登録してあるマクロは、他のExcelファイルからでも使用できます。
3-3. 標準モジュール名と登録マクロ名の名称変更
マクロの登録先である「モジュール名」の変更方法と、マクロを利用する際に表示される「マクロ名」の変更方法を共有していきます 。
「モジュール名」を変更することで、マクロを登録するモジュールを整理することができます。
「マクロ名」は、本サイトからコードをコピペする時に決まっているので、どのような内容のマクロなのかを示す名前に、適宜、ご自身で変更していただければと思います。
マクロの内容によっては、既存のマクロ名をソースコードで利用している場合があります。その際にマクロ名を変更してしまうと、マクロが正常に動作しなくなります。そのような現象がみられた場合は、マクロ名を元に戻せば動作不良は解消されると思います。
※「モジュール名」と「マクロ名」が同じ場合、開発タブ→マクロ でマクロ名を参照した場合に、同一ファイル内であっても“ファイル名”+“マクロ名”の形で長く表示されることがあります。これは、マクロ側が同一の「モジュール名」と「マクロ名」を差別するために長ったらしく表示してくれています。
解消したい場合は、「モジュール名」と「マクロ名」を違うものに設定してくさい。