オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel VBA エキスパート ベーシック】VBA・マクロ・VBEについて (VBA入門1)

 

マクロとは

Excel操作を自動化するプログラムのことです。

 

VBAとは

プログラミング言語。Visual Basic Applicationの略。
マクロプログラムを記述するための言語。
VBAは、Visual BasicをExcelやワードなどのアプリケーションのマクロ用にカスタマイズされたプログラミング言語です。


VBAの特徴

1.イベント駆動型言語
ボタンを押したり、セルを選択したり、何かのきっかけで決められたマクロが実行されます。

2.オブジェクト型言語
オブジェクトとは対象物や主体などの意味。
「オブジェクトに対して」→「何をする」のように、VBAの文法では対象物を明示します。

<VBAのオブジェクトを使う文法>
(1)プロパティ:オブジェクトの様子・状態を〇〇にする
(2)メソッド:オブジェクトに〇〇させる

 

(1)のサンプルコード
Cells(1, 1).Font.Size = 10
→A1セル(オブジェクト)のフォントサイズを10にする

 

(2)のサンプルコード
Cells(1, 1).Insert
→A1セル(オブジェクト)にセルを挿入する

 

VBEについて

VBEとはVisual Basic Editorの略。VBAのコードを記述するExcelに標準搭載されている開発環境です。
※Excelとは異なるアプリケーションになる。

VBEの画面について

f:id:auroralights:20201003104036p:plain

VBE

 ①プロジェクトエクスプローラ
プロジェクト(Excelブック)内のモジュールがツリー形式で表示。

②プロパティウィンドウ
設計時にオブジェクトのプロパティを設定できる。

③コードウィンドウ
マクロのコードを記述する場所。

 

ブックとマクロ

マクロのコードはブック内に記録されます。
マクロだけを独立して保存することはできず、マクロを実行するにはそのマクロが記述されているブックを開く必要があります。

 

マクロを含むブックを保存するときは拡張子「xlsm」を指定する必要があります。
※Excel2003までのバージョンでは、マクロ有無にかかわらず、拡張子「xls」で保存できます。

 

セキュリティレベル

Excelブック内に含まれるマクロの実行を許可するかどうかを設定できます。
セキュリティレベルの設定はExcelのバージョンによって異なります。

 

Excel2016では、「ファイル」>「オプション」>「トラストセンター」>「マクロの設定」から設定ができます。

f:id:auroralights:20201003104735p:plain

※VBAの命令を使ってExcelのセキュリティレベルを変更はできません。

マクロの保存先

現在のブックもしくは個人用マクロブックに保存ができます。

個人用マクロブック
Excelを起動時に自動的に開かれるブックのことです。

現在のブック
現在開いているブックのことです。

 

個人用マクロブック(PERSONAL.XLSB)

個人用マクロブックに記録したマクロは全てのブックで使用が可能です。
(Excel起動と同時に自動的に開かれるため)

個人マクロブックを表示するには、あらかじめマクロを個人用マクロブックに記録する必要があります。
※個人用マクロブックは、マクロを記録することで作成されるので、マクロが記録されていない=個人用マクロブックがない状態では表示できません。

個人用マクロブックの作成
「開発」>「マクロの記録」でマクロの保存先を「個人用マクロブック」に指定して、何か操作をして「記録終了」を押します。

 

個人用マクロブックの表示
「表示」>「ウィンドウ」>「ウィンドウの再表示」から表示ができます。

 

個人用マクロブックの保存先
個人用マクロブックは「XLSTART」フォルダに保存されます。
「XLSTART」フォルダに存在するブックはExcelを起動すると自動的に読み込まれます。
XLSTARTフォルダのブックにマクロが含まれている場合、そのマクロについてはセキュリティレベルに関係なく、いつでも実行できます。