ここ数年、ちょこちょこ VBAをいらう事が多いってのは以前(前のブログ)で 書いたんだが。。
そんな自分の作成したVBAについて いくつか解説していこうかと。。。
数多くあるVBAの講座的 なサイトには 遠く及ばないけど、ちょっと かじりたい人の為の 敷居の低い 講座? 勉強場? 的な 内容を目標に記述。
と、またまた 途中放棄になる予感が MAXな内容なんですがね^^;
で、とりあえずは VBAの大道? VBA for Excelについて
VBA for Excel は VisualBasic(以下VB) って いう 天下の Microsoft社の アプリケーション開発用 言語を Excelで マクロとして利用する為に 実装した Script言語で VBと親和性が高いってか 同じ?w で 構文等 も当然 同じで 割りと手軽に勉強しやすい 高等言語。 っての 私の認識。
マクロってよりは スクリプトって 感じがするけど プログラム言語と表現しても差し支えないレベルだと思う。
あと、勉強するには マクロの記録は出来るだけ使わないのがいいと個人的には思う。
ステートメント(命令)の記述方法の参考例を見る為に その命令を1つ記録してみるのにはとても便利だけど、マクロの記録したのを手直しして目的の物を作ろうと思うと。。。。
VBAを記述するのに いくつか決まりがあるけど。。
プログラムの基本中の基本?から 少しずつ解説していこう!
でないと、書く内容が無くなるからwwwwwwwwwwww
で、まずは 順次!
VBA は 他の プログラム同様に 命令を 記述して 処理していくんだが(当然かwwww
命令は 記述したものを 上から下に 順番に1つづつ処理していきます。
これを順次といいます!
。。。。。。。。
決して 見てる人を馬鹿にしてるわけじゃないよ!!ww
プログラムは 結局 この 順次と 分岐と 繰り返し の 3つしか ないんだよねー
あとは 頭で ぐるぐるwwww
って ことで 今回は この 3つの内の 1つ 順次!!!w
例えば
msgbox "1"
msgbox "2"
msgbox "3"
と ステートメント を3行書けば 画面に
1と書かれたメッセージ
2と書かれたメッセージ
3と書かれたメッセージ
が 命令 通り 順番に表示されますよー って ことです。
では 、Excelで 試す為の 手順を記載。
いきなり、マクロの記録を使います!wwwww
(さっきお勧めしないと いったばかりなのにw
以下、Excel2002の場合で記載、 Excel2007の場合 「開発」タブを表示して同様に操作していくが めんどいから記載しないw 質問があれば答えます^^
1:「ツール」->「マクロ」->「新しいマクロの記録」
この時マクロ名を記載するようになってるが なんでも OK ここでは 「uhauha1」とする。
2:ここで 「OK」を 押したら すかさず マクロの停止ボタンを押すwww
マクロの記録中は こんな ボタンがどこかに出てるから この ■を 押せば「マクロの停止」です。
これで 前準備OK 中身のからっぽの 「uhauha1」っていうプロシージャが出来ました!w
プロシージャとは マクロの命令を記述していく場所で なれれば 簡単に作成出来るが 文面で書くのがめんどうなので 「マクロの記録」で作成しました!w
この プロシージャ名 を マクロ名って 感じで利用する。
では、「uhauha1」の中身をみていくよー
3:「ツール」->「マクロ」->「マクロ」
ここで 実行出来る マクロの一覧が でる。
こんな 感じ
4:「uhauha1」を選択して 「編集」を クリック
こんなん 出てきたかな???
出てくればOK!
出てこない時は。。。。
調べろwwwwwwwwwwwww
誰かに聞けwwwwwwwwwwwww
てことで、以下 出てきた人のみ 進めますw
Sub uhauha1() <- こいつが マクロの始まりってこと
'
' uhauha1 Macro
' マクロ記録日 : 2009/6/28 ユーザー名 : MO
'
'
End Sub <- こいつが マクロの終わりって命令
「Sub uhauha1()」 ってのは uahuha1って いう マクロを ここから 書きますよ~
ってこと。
マクロには 上記のように 記述する
Sub プロシージャー ってのと
Function プロシージャー ってのがある。
Sub プロシージャーでは 上の マクロの始まりから 終わりまでの 命令をする 1つの固まりで 通常マクロとは このことをいう。
個人的には 「手続き」と 覚えてる。
決まった一連の手続きをする為の固まりってこと。
緑の文字は コメント(注釈)で '(シングルコーテーション)の後の文字は全て コメントとなる。
じゃ 予定の命令を記述していくよ~ん
Sub uhauha1()
MsgBox "1"
MsgBox "2"
MsgBox "3"
End Sub
目障りなので コメントは 全て削除しました。
で
msgbox "1"
msgbox "2"
msgbox "3"
と 3行追加
命令は 全て 小文字で記述。 つづりがあっていれば 必要箇所は 大文字に自動変換します。
ただ 命令を入力するのでは無く 上記のように 命令を タブかスペースで 字下げして命令の構造が分かり易いようにすること。
分からないときは とりあえず真似るwww まったく 同じにするんだああああw
で 早速実行してみよう♪
5:「ツール」->「マクロ」->「マクロ」
「uhauha1」を 選んで 「実行」をクリック
と 3つの命令が 順番に実行されれば OK!
msgbox ってのは そのまま 上記のような メッセージを表示する命令ですな。
う~~~ん。。。。。
おもろいのか? 今回の内容は????w
気が向けば 続きを書くかも。。。。。(1回で挫折か??wwww