ExcelVBAを使ってExcelファイル起動時に自動で実行するプログラムを作る

こんにちは、小栁です。

今回は、ExcelVBAを使ってExcelファイル起動時に自動で実行されるプログラムを作ります。
後半ではVBAを使って設定することができる各種項目を紹介します。

この記事の内容は、下記の記事で紹介した、外部ファイルを参照してVBAのソースコードを更新するやり方とも相性がいいです。

まずは、例をご覧ください。

このように、ワークシートに何もないExcelファイル(マクロを含むxlsmファイル)を用意します。


次に、VBEditorにこのコードをコピペします。

これを保存して開きなおすと、以下のような画面ができあがるかと思います。

本記事ではこの仕組みを解説します。

VBAでAuto_Openプロシージャを作成する

Excelファイル起動時に自動でプログラムを実行するには「Auto_Open」を使います。

やり方はとてもシンプルで、まずはExcelのVBEditorを開きます。
VBEditorの標準モジュールにこのようなプロシージャを作成します。

以上で設定完了です。
このプロシージャの中に記述した処理はExcelファイルを開いた直後に自動で実行されます。

VBAを使えばExcelでのいろいろな作業を自動化できる

これから紹介するVBAのプログラムをAuto_Openプロシージャの中で行えば、ワークシート画面を操作せずとも起動といっしょに意図した初期画面を用意することができます。

以下で紹介するものは今回のAuto_Openプロシージャに限らずとも通常のプロシージャの中でも使える基本的なものなので、いろいろな場面で応用が利くと思います。

VBAを使えば、「Excelワークシート上で」マウスを使って行ういろいろな作業を同じように再現することができます。
うまく活用すれば複数のExcelブックを少ない工数で書き換えたり設定を変更したりすることができます。
さらに詳しい個別の事例については以下の各項目に登場するキーワードを使って調べてみてください。

セルの設定

値

セルに文字を入力します

【★全体的に画像が大きすぎるかも。width・heightを調整した方がよさそう】

背景色

セルの背景色を黄色にします

色を指定する数値は「ColorIndexプロパティ」です

罫線

これ以外にも線の種類や太さなども設定することができます

書式設定

セルの書式設定を文字列にします

コメント


セルにコメントを追加します

行や列の設定

幅

列の幅を5にします

非表示

B列を非表示にします

ボタンの設定

作成

ボタンを作成します
セルを使って位置を指定します

※左上から右に何ピクセル、下に何ピクセルというように絶対座標で位置を決める方法もあります。

削除

このコードは指定したシート上のすべてのボタンを削除します。

シートの設定

作成

新規にワークシートを作成します

削除

指定したワークシートを削除します

上記のコードだと削除の確認をするポップアップが表示されます。


このようにすればポップアップを非表示にできます。

非表示

ワークシートを非表示にします。削除ではないので再表示することができます。

最後に

ExcelVBAはできることが多く、新しい情報を知ったときにすぐに自分のパソコンで試すことができるのがいいところです。普段マウスだけでやっていた作業をVBAを使って操作してみると新しい発見や効率化に繋がるかもしれません。

Excel/ExcelVBAでのお困りごとなどありましたらお気軽にご相談ください。


新規サービス開発のご相談はこちら

この記事を書いた人

koyanagi

ガジェットと料理が好きです。

最近はスマート家電に興味があります。

趣味は、ジャグリングとサイクリングです。