Excel VBA な邪悪なメモ

もろもろあるぜよ

ecluoseでいうコードアシスト
ctrl+スペースで同じ。ただしなんだか動きが鈍いときがある
eclipseでいうF3的なやつ
「定義」は「Shift + F2」。「元の位置に移動」は「Ctrl + Shift + F2」。eclipseでいうF3とaltの左ですねん
フォームとコントロールツールボックスのボタンの違い
Excelのシート上には「ボタン」を置くことができる。「フォーム」の「ボタン」と、「コントロールツールボックス」の「コマンドボタン」。ぱっと見た目は区別がつかないが、ボタン上で右クリックするとでてくるメニューがことなる。
プロシージャ
関数やメソッド的なまとまった処理をかく。Subは戻り値を返さない。Functionは戻り値を返す。プロシージャを呼ぶときは Call プロシージャ名 にしておくとわかりやすいらしい
For文について
添え字はfor文の外で定義する。最後のNext i を書き忘れないようにする
    Dim idx As Integer
    For i = 1 To 10
        Range("A" & i).Value = "あ" & i
    Next i
名前が決まっているプロシージャがある
ファイルを開いたときは Auto_Open() とか。ワークブックを開いたときは Workbook_Open とか。(この2つの違いはなんだろー…)
Accessが入っていなくても、mdbSQLを発行できる
色々方法はあるらしいができる。使うものによって、ツール=>参照設定 でのチェックが必要だったりする

その他

  • 定数は全部のSubとかFunctionより前に書く(らしい)
  • モジュールの名前は、プロパティウィンドウで変更できる。
  • クラスモジュールというクラスみたいのものが作れる
  • 文字列は&で連結しよう

Excel VBAの長所短所

Excelが入っていれば使える
企業はExcelを入れちゃっているところが多いので、追加投資がいらないのは多分好まれること。
一人のために作ることができる
企業内のえらいひとや、担当が一人しかいないような場合、その人のためだけのシステムというかアプリを作ることができる。これまた比較的安価で。みんなのためのシステムは、Excelでは作りたくない。
そんなに難しいことができない
ルールは多々有るが、ルールがあるが故に機能はいっぱいあっても簡単な面もある。故に、入門者には良いっちゃ良い。(逆に難しくなっているところもあるとはおもうけど・・・)