● 各機能・ソフトの概要:ExcelVBA(Excelの標準機能)~「パソコンでの自動化」について
目次
● 各機能・ソフトの概要:第5項 ExcelVBA(Excelの標準機能)~「パソコンでの自動化」について
†1 簡単なプログラムを書く
†2 書いたプログラムを実行する
※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。
Excelを使う中で、『これ毎回(毎時間、もしくは毎日)同じことをするんだけど、1クリックで済ませられないかなあ・・・?』というようなことが多く出てきます。
それを実現するためのものが「ExcelVBA」です。
§1 できること
・セルの書式変更
・よく使う操作の短縮化とそのコマンドボタン化
・データの転記
・入力ミスチェック
・重複チェック
・自動集計(あまりやりすぎないほうが良いですが。要注意。)
・コマンドプロンプトやバッチファイルを動かす。
・簡易バーコードPOSレジのようなミニシステムを作って動かす。
・他のソフトを動かす。 ・・・
などなど
ExcelVBAは、主にお仕事で使うことが多いですが、「Excelゲーム」という分野もありまして、それにもExcelVBAを使います。かなり楽しいみたいです。
※Excelゲームの例↓
http://www1.plala.or.jp/chikada/vba/vba.htm
シューティング、落ちモノ、ビリヤードなど、色々とあるようです。Web検索すると色々と出てきます。グーグルなどで「Excelゲーム」などのキーワードで検索してみてください。
§2 使い方
Excel2000~2003なら、「ツール」「マクロ」「Visual Basic Editor」にて「挿入」「標準モジュール」などとやってからプログラムを書きます。
Excel2007以降ならリボンに「開発」タブを表示させて、「Visual Basic」ボタンにて「挿入」「標準モジュール」、です。
なお、Excel2007以降の場合は、マクロを保存するには「xlms」拡張子でファイルを保存しないといけません。 xlma拡張子では、一応プログラムを書くことや実行することはできますが、保存ができないので、ファイルを閉じたらプログラムは消えてしまいます。
†1 簡単なプログラムを書く
プログラムの最小単位を「プロシージャ」と呼びます。
ここではもっとも小さなプログラムを書いてみます。
「ツール」「マクロ」「Visual Basic Editor(以下VBE)」にて、「挿入」「標準モジュール」をクリックします。
そこで、以下の3行をそのままコピペします。
Sub test01()
MsgBox "こんにちは!"
End Sub
※コピペ → コピー&ペーストの略です。「ペースト」とは、「貼り付け」のことです。あまり略語は良くないかもしれませんが、プログラミングの世界ではこのほうが通っているので、このように書かせていただきました。
Subの行からEnd Subの行までが1つの「プロシージャ」です。
ここに実行させたいことを書くわけです。
また、「test01」というのがプロシージャ名となります。
プロシージャ名は日本語でも一応、いいのですが、トラブルを起こすことがあるので、Excelが勝手に日本語名をつける場合以外は、できるだけ半角英数文字で書きます。
なお、この例ではプログラムを1行だけ書きましたが、通常は何行も書くことになります。
ちなみに、「MsgBox」は「・・・というメッセージを表示しろ」という命令です。
†2 書いたプログラムを実行する
VBEの画面のまま、F5キーを押すか、VBEの「実行」「Sub/ユーザーフォームの実行」を押します。
先の、「test01」というプロシージャを実行すると、「こんにちは!」というメッセージダイアログが表示されます。
- 投稿タグ
- パソコンでの自動化