EXCELでVBAを使う方法
EXCELでVBA(マクロ)を使う方法としては、ふつうにEXCELを起動します。
そしてショートカットキーの「Alt」+「F11」を押します。
これでEXCELのVBAを編集する画面が表示されます。
このままだとプログラムのコードが記載できないので、メニューバーの「挿入」「標準モジュール」を選択します。
これで、コードを記載する事が出来るようになります。
実際に書いてみた感じ。
Public Sub main() MsgBox ("テスト") End Sub Public Function test() As String test = "テスト" End Function
どちらのコードも”テスト”を返すコードです。
上に書いたコード(main)は、サブモジュールで単独で実行できるもの。
下に書いたコード(test)は、関数で、呼び出して実行するものとなります。
緑の文字は、VBAの予約語となっています。言語特融のコードですね。
ピンクの文字は、VBAの標準関数。
青緑の文字は、変数の型となっています。
「mainサブモジュール」のコードの意味は、”Public”がEXCEL全体から呼び出せるもの、基本的にこれをつけておけばOK。
”Sub”が処理のエントリポイント(実行指示を出したときに動くもの)を表します。
”main()”は、今回作成するサブモジュールの名称。自由に名前を付けれます。
”Msgbox()”はVBAの標準関数で、メッセージボックスを表示し、指定した文字を表示する関数。
”End Sub”がサブモジュールのおわりを表しています。
「test関数」のコードの意味は、”Public”がEXCEL全体から呼び出せるもの、サブモジュールと同様にPublicを使っておけばOK
”Function”が関数であることの宣言を表します。
”test()”は、今回作成する関数の名称。自由に名前を付けれます。
本来関数は、”()”の中に引数を渡しますが、今回は引数無しにしています。
”As String”は、この関数が”String型”の値を返す事を表しています。
”test = “テスト””は、test関数の戻り値として、”テスト”という文字列を返します。
”End Function”が関数のおわりを表しています。
早速実行してみましょう。
メニューバーの実行ボタンを押すと実行されます。
メッセージボックスが表示され、中に”テスト”が表示されました。
test関数は呼び出していないので、今の時点では実行されていません。
次は、test関数を呼び出してみます。
通常は、サブモジュールから呼び出しますが、分かりやすくするためにEXCELワークシートから呼び出してみます。
EXCELのセルに”=test()”を記入します。
ちなみに関数の候補に自分が作成した”test”が表示されていることに注目してください。
エンターを押してセルから抜けると、セルの内容が”テスト”になっています。
これでtest関数が呼び出せました。
EXCELのVBAを保存する方法
VBA(マクロ)を普通のEXCEL BOOKに保存すると、セキュリティの関係からVBAが保存されません。
その為、マクロ有効ブックで保存する必要があります。
まず、普通に上書き保存を選択し
保存画面で、”ファイルの種類”を選択。
“Excel マクロ有効ブック (*.xlsm)”を選択。
ファイルの拡張子が”xlsm”に変わっている事を確認し、保存します。
これで、作成したVBAが保存されます。
起動時にEXCEL VBAを有効にする方法
Excelのセキュリティ対策で、普通にインストールしただけでは、VBA(マクロ)が実行できません。
そこで、EXCELの設定を変更し、VBAが実行できるようにします。
まず、EXCELの左上メニューの”ファイル”を選択し、一番したの「オプション」を選択します。
Excelのオプションの”トラスト センター”を選択。
画面右の”トラスト センターの設定”ボタンを押下します。
左のメニューから”マクロの設定”を選択します。
”すべてのマクロを有効にする”にチェックをいれて”OK”ボタンを押せばマクロが有効化されます。
あとは、EXCELを再起動すればOK
コメント