-
目次
Excel マクロ・VBA・VBE ってなぁに?
Excelの広場 爺さんが感じた事なんじゃが、Excelの自動化の事を マクロ と読んだり、VBA と読んだり、VBE と言う言葉もでてきたり..ハッキリしていないので、Max や、説明してくれる ...
続きを見る
「Excel マクロ・VBA・VBE ってなぁに?」記事では、マウス操作 での [開発] タグ等の 表示方法 を書きました。
この記事では、ショートカットキー による 表示方法を解説します。
Excel に「開発」を 表示する!
リボンの何も書いていない場所、
① を 右クリック
すると 項目が表示されるので、
②「リボンのユーザー設定」 を
左クリック して下さい。
ダイアログが表示されるので「開発」に チェック を入れます。
開発 が表示されました。
VBE を 表示させましょう。
開発 を クリック するとリボンが変わるので、Visual Basic アイコン を クリック します。
VBE コード の表示
アイコンをクリックすると、
Excel シート表示から VBE (Visual Basic Editor)表示に切り替わります。
ファンクション キー [F7] を押すと、
コード(白いページ)が表示されます。
ここに VBA 名令文(コード)を書いて行きます。
命令文(コード)1 行だと一つの処理しかできませんが、色んな 命令文を組合す ことにより、マクロ(動作命令書)が出来上がります。
VBA の処理は、Sub から始まって End Sub までの中に書かれた命令文を順番に実行していくと マクロ(動作命令書)通り処理が実行されるように、書いていく決まりになっています。
マクロ(動作命令書)とは、Sub ~ End Sub と、その間に挟まれた 命令文 のことで、専門用語で これを プロシージャー とよんでいます。
早い話、動作命令に従った処理をする一つのプログラムと言う事になります。
爺さんの考え方は、
「百聞は一見にしかず!」
専門用語の意味が分からなくても、そんなもの後からついてきます。
用語の意味など最初は、分からなくても良いです! そんな事に拘っていたら前に進みません!VBA 最短の習得は、
ぐたぐた言わずに、
とにかくやってみる!ことです。
それで、VBA の モジュールって何よ?概略説明
VBA コード(命令文)を書く
オブジェクト(物)として、
- 標準モジュール(以下モジュール)
- ユーザーフォーム
- クラスモジュール
上記 3つ が あります。
全てを説明するには、奥が深く 1記事じゃ説明できないので、ユーザーフォーム、クラスモジュール に関しては、別な解説記事を書こうと思っています。
とにかくやってみよう!と言う事で、
一番よく使う モジュール の 概略説明 を行います。
Sub マクロ名 ( ) で始まって、
End Sub で終わる 命令の固まりの事を プロシャージャ( 単体のマクロ)と言いました。
その プロシャージャー の固まりの事を モジュール とよんでいます。
例えると、太陽系 が プロシャージャ、それらが集まってできた 銀河系 が モジュール と言う事になります。
又、VBA では、その モジュール 事態を増やすことができます。
まるで 宇宙です!
じゃぁ、いくら作るか?それは、
VBA を作る人の センス です。
爺さんは、モジュールをたくさん作る事は、お勧めできません。
なぜなら第三者が解読しにくい VBA となるからです。
変数 データ型 宣言
変数 データ型 宣言 は、書く場所により 参照先 が違ってきます。
プロシャージャ(マクロ)では、先頭に書きますが、変数を参照できるのは、その プロシャージャ(マクロ)内のみで 他の プロシャージャ(マクロ)からは、参照 できません。
モジュール の 先頭に書いた場合、どの プロシャージャ(マクロ)からでも参照できるようになります。
又、頭を Dim tate As Long ではなく、
Public tate As Long とした場合、
BOOK 内 どの モジュール からでも参照できる ようになります。
質問!作った マクロ は、どのようにして使うのよ?
Sub プロシージャ VBA は、
Sub マクロ名称〇 ( ) から End Sub まで
挟んで書き、その中に命令コードを
書く事になっています。
これは、四の五もなく決まりなので、
覚えましょう。
マクロ名
マクロ名ダイアログ の表示内容となります。
マクロ名 ダイアログの表示方法
「開発」⇒ マクロ アイコン
クリック で 表示されます。
質問!モジュール って いくらまで増やせるのよ?
答えは、
1 つのプロシージャは、
64KB までのコードが書けます。
モジュールの数は、
無制限(メモリーの許容範囲)で、
宇宙のようなものです。
今まで書いた 一番大きなプロシージャって、どれくらいの大きさだワン!?
一番大きかったのは、863行 で 27KB じゃのぅ..
単純計算で、1,900行 書けるんじゃのう..
VBE に Toolバーを用意しておこう。
VBE には、4つ の ツールバー(道具)が用意されています。
- デバッグ
- ユーザーフォーム
- 標準
- 編集
バーにある アイコン を クリック するだけで実行できますので、表示させておきましょう。
[Alt]+[V]キーを押し 表示 タグが開いたら「T] キーを押し、ツールバー 項目を選択し[Enter]キーを押たら ツールバーが表示されます。
表示されたツールバーは、上部 をつまんで、好みの場所に配置して下さい。
VBA を書く VBE モジュール の 作成
新たに モジュール を作成するのは、簡単です。[Alt]+[I]キーを押し 表示 タグが開いたら「M]を押せば作成されます。
作成された モジュール に名前をつけましょう。
モジュール に名前をつけるのは簡単です。ファンクション キー[F4]を押すと プロパティ ツール が表示されますので、オブジェクト名 に つけたい名前を記入すれば OK です。
記入できない文字
先頭に数字、及び 禁則文字 は、記入できません。
プロパティー とは?
プロパティ を説明するのは、難しいですが...
車に例えたら、
車幅、車長、車高、エンジンの大きさ、色、馬力..etc
人に例えたら、
その人の 名前、身長、体重、視力 など つまり、
個々の詳細 データー にあたります。
(例)坂本龍馬 の プロパティー は、
身長 173cm , 体重 80kg , 血液型 B型 , 出身地 高知県 ...
こんな感じです。
今回の場合、
人、車 が モジュール にあたり、オブジェクト名 も その一つになります。
【補足】オブジェクト とは?
人 や 車、モジュール.. 物 のことです。
Let's do it anyway !