VBA01_ExcelVBAはおすすめです

こんにちは!Benです。
私がExcel VBAを覚え始めたのが今から20年くらい前です。アプリ並みのプログラムを組んだのは数回しかありませんが、小技はしばしば作りとても重宝します。通常のExcelの機能だけではできなかったり困難だったりするものを、VBAでは簡単にできることもあります。20年前の自分に戻り、一から復習したいと思います。

ちなみにVBAはVisual Basic for Applicationsの略でアプリケーションのためのVBです。VBはJAVAやC言語系と比べるとマイナーですが、開発言語としてはVB.net、今主流のWEBアプリもASP.netが使えるので覚えていて損はない言語だと思います。

20151025_excel1.gif

私はいつもVBAはエクセルを開いてから図のようにシートのタブを右クリックしてコードの表示でエディタを出しています。本格的にやる場合はメニューの編集で開発タブを増やしましょう。なお、Excelのバージョンによっては既定値がマクロ無効になっていることがあるのでセキュリティを調整して有効にしましょう。拡張子が4文字のバージョンのExcelは既定値のxlsxだとマクロが保存されないので、マクロ有効ブックのxlsmにしましょう。

20151025_excel2.gif

これがVBAのエディタです。アプリとかの開発環境では、全体をプロジェクトと呼んでいてExcelではワークブックがそれに当たります。構成する一つ一つのモノをオブジェクトと言って、Excelではワークシートも含まれます。オブジェクトの各種設定はプロパティウィンドウでできますが、プログラムのコードからも変えられます。コード自体は右上の大きなウインドウに書いて、実行したときのエラーや動作確認はイミディエイトウィンドウを使います。

20151025_excel3.gif

細かい説明は後にしてまずやってみましょう。挿入メニューから標準モジュールをクリックすると御覧のようにプロジェクトに追加されます。Module1をダブルクリックするとExcelのバージョンにもよりますが、タイトルバーの最後にModule1(コード)と表示されます。

20151025_excel4.gif

では、プログラムを書くエリアに半角英文字でsub testと入力してエンターを押すと図のように先頭文字が大文字になり、括弧がついてEnd Subが自動で入力されます。このSubからEnd Subまでが一つのまとまりで、コードは上から一行ずつ実行されていきます。空白行は無視されるのでコードが見やすいように適宜挿入しましょう。

20151025_excel5.gif

ここまでやったらやはりプログラムを走らせてみたいものですね その前にほかのExcelブックを開いてたら閉じてください。そして図のようにcells(1,1)=100を入力してエンターで改行します。そしてSubからEnd Subの間の行をクリックしてカーソルを間に入れて、上のアイコンの実行ボタンをクリックします。うまくいくとプログラムが実行されて、エクセルの今表示されているシートのA1セルに100と入力されているはずです。

非常に簡単ですが、あなたがプログラミングしたコードが正常に実行されたことになります。20年前の私も「これで俺もプログラマー!」でした(^^;
経験した色々なVBAをこれからもこのノートに残したいので、ブログタイトルに通し番号を付けました。プロのプログラマーとは違ってカジュアルで私が便利に思ったコードを、これからも復習したいと思います。次回は今回の内容を少し詳しくノートにしたいと思います。

この記事へのコメント


この記事へのトラックバック