見出し画像

【Excel】VBEでモジュールにプロシージャを作る(速読VBA単語Program1-2)

Program1-2では、VBEの操作方法について解説します。Program3以降でVBAを入力しますが、その前提としてVBEの画面の使い方を覚えましょう。

Program1-2を習得すれば、例えば「VBEでModuleにProcedureを作る」などという訳の分からない言葉もすんなり理解できると思います。最後に動画解説もつけていますのでYoutubeでご覧ください。

目次

1.VBE
2.Macro-Enabled Workbook(マクロ有効ブック)
3.Procedure(プロシージャ)
4.Module(モジュール)
5.BreakPoint(ブレークポイント)
6.動画解説
7.お知らせ

注意事項

「速読VBA単語」は、文法を完全に無視して、難易度順に単語練習をするだけでExcelVBAを習得しようという「邪道」な企画です。本講座は、極めて強い副作用があり安全上注意が必要です。この説明書は本講座を正しく受講するための説明文書です。受講する前に必ずお読みください。

(ここからが本編です。最後まで無料で読めます。)

1.VBE

VBEとは「Visual Basic Editor」のことで、VBAを編集するための専用画面(エディタ)です。Excelに付属する画面なので、Excelを終了したらVBEも終了します。開発タブに「Visual Basic」のボタンがあります。

「Visual Basic Editor」の画面になります。Excelの画面とVBEの画面の2つになります。

マクロの記録をします。

VBEの画面にします。標準モジュールの中に、新たにModule1ができます。通常、マクロを記録すると標準モジュールとして記録されます。

Macro1のコードが記述されています。操作を記録しようとしています。

Excelの画面にします。別のセルを選択します。

VBEの画面にします。VBAのコードが増えます。セルを選択したことが記録されます。

Excelの画面にします。Excelの画面に切り替えるには左上のExcelのボタンを押すか、Windowsのタスクバーで切り替えます。

さらに、別の操作をします。

このように、記録をすればするほどVBAのコードが増えます。

2.Macro-Enabled Workbook(マクロ有効ブック)

(1)保存

マクロの記録を停止します。

名前を付けて保存をします。このまま、通常のExcelブックの形式で保存すると、マクロが保存されませんので注意が必要です。

マクロを保存するには、ファイルの種類を「Excelマクロ有効ブック」拡張子xlsmにする必要があります。

保存をすると、通常のExcelのファイルとは異なるアイコンになります。

(2)開く

マクロ有効ブック(xlsm)を開きます。セキュリティの警告が表示されます。

マクロは悪用するとコンピュータウィルスにもなります。身に覚えのないマクロを実行すると勝手にデータが消えたり、パソコンが破壊されたりと大変危険です。マクロを含むブックを開くと、マクロは一時的に無効になっています。セキュリティの警告に関するメッセージが表示されますので、マクロを有効にします(コンテンツの有効化)。これでマクロを使うことができます。

名前を付けて保存をします。今度は、マクロの無い通常のExcelのファイル、拡張子xlsxとして保存をします。

このようにマクロが保存されないことを表す警告が表示されます。マクロが無くてもよい場合は「はい」、マクロがあったほうが良い場合は「いいえ」です。(マクロ無し=はい、マクロ有り=いいえ)

マクロ無しで保存しても、Excelを閉じるまではマクロが残っていますので実行することができます。

Excelを閉じて、もう一度開くとマクロが消えます。

3.Procedure(プロシージャ)

セルA1にカーソルがあることを確認します。

マクロの記録をはじめます。セルA1に100と入力します。さらに、フォントサイズを20にします。

マクロの記録を停止します。これで記録できました。ALT+F11でVBEを開きます。

保存したマクロは標準モジュールに保存されています。

この画面がVBEで、実際に記述されているコードがVBAです。

Macro1をコピーして、その下に貼り付けます。

Macro1のところをMacro2にします。マクロ名は同じものは使えませんので、このように変える必要があります。

100のところを200にします。フォントサイズ20のところを10にします。

エクセルの画面で確認します。マクロを表示すると、マクロが2つになっていることが分かります。このようにマクロの記録をしなくても、直接VBEでマクロを増やすことができます。

違うセルをクリックします。VBEの画面にします。Macro1をクリックしてカーソルがあることを確認します。

再生のボタンを押します。

Macro1の実行になります。100という数字が入り、フォントが20になります。

VBEの画面にします。Macro2をクリックしてカーソルがあることを確認します。

再生のボタンを押します。Macro2の実行になります。200という数字が入り、フォントが10になります。このように1つの画面で2つのマクロを実行することができます。

VBAのコードは上から下に向かって1行ずつ順番に実行されます。しかし、コードはすべての行が実行されるわけではなく、実行の始まりと実行の終わりを明記して、その範囲だけを実行します。Sub Macro1()は実行の始まりを表します。Macro1はマクロの名前です。End Subは実行の終わりを表します。

この実行の始まりから終わりまでのかたまりを「プロシージャprocesure」といいます。プロシージャは日本語では作業手順のことです。カーソルがあるプロシージャが実行されます。

4.Module(モジュール)

モジュールとは、ExcelのファイルにVBAのコードを格納するページです。

Excelのファイルには複数のシートがあります。一般の人はExcelにはシートしかないと思っていると思います。

しかし、Excel上には表示されていないだけで、シートの他にモジュール、フォームなどがあります。シートはExcelの画面を見ることができますが、モジュールなどはVBEでしか見ることができません。

シート(Sheet)にも、そのシートだけで使うコードを書くこともできますが、VBAは通常、標準モジュールに書きます。

マクロを記録すると標準モジュールが自動的に作られます。右クリックをすると標準モジュールを増やすこともできます。

「Module1」を右クリックします。

「Module1の解放」をして、「いいえ」を選択します。

「Module1」が消えます。

5.BreakPoint(ブレークポイント)

セルA1にカーソルがあることを確認します。マクロの記録をはじめます。

セルA1に100と入力します。さらに、フォントサイズを20にします。

マクロの記録を停止します。これで記録できました。

1行目を削除します。セルA1を選択します。VBEを表示します。

ここで、2行目の左余白をクリックします。ブレイクポイント(Break Point)が設定されます。

実行します。黄色い表示になって、実行が中断されます。100と入力されますが、フォントサイズは大きくなっていません。ブレイクポイントを設定すると、その直前で実行が止まります。

もう一度、実行します。続きが実行され、文字が大きくなります。

ブレイクポイントをもう一度クリックすると、ブレイクポイントの解除になります。

6.動画解説

画面の操作方法は静止画では伝わりにくいと思いますので、Youtubeの動画をご覧ください。

7.お知らせ

Program1-2は以上となります。

次回は、Program2-1「記号を制する者はExcelVBAを制する」です。Program2 は画面を操作しません。VBAのようなもの(疑似的なコード)を読んで記号の雰囲気をつかむという、ちょっと変わった講座です。

引き続きよろしくお願い申し上げます。


この記事が気に入ったらサポートをしてみませんか?