エクセルで楽々校務

学校現場で使えるエクセルファイルや小技の紹介をしています。掘り出し物があるかもしれません。あと、今までの実践での疑問点もつぶやきます。

VBA: VBAの起動と便利な設定

【目次】

①開発タブを作る。

・エクセルを起動する。

・左上のメニュータブで、ファイル→オプション→リボンのユーザー設定→「開発」にチェックを入れて、OKをクリックします。

f:id:exeladmin:20200814001353p:plain

メニューに「開発」タブができました。ここから左のメニューでVBAのVisual Basic Editor画面(VBE) やマクロを確認できます。

f:id:exeladmin:20200814001626p:plain

【目次に戻る】

②シートモジュールの書き方

思いついたマクロコードを書くのがシートモジュールです。現在のシートでしか実行できません。コード実行が限定される記述場所なので・・・私はあまり使いません。

・マクロを書きたいシートタブを右クリックする。

・「コードの表示」をクリックする。

f:id:exeladmin:20200814002037p:plain

 

ここに書きます。 sub ●●●( ) と End Sub の間に書きます。ためしに書く場所だと思っておいた方がいいです。正常に動いたら、「標準モジュール」に切り取って貼り付けます。(詳しくは③に書いています。)

f:id:exeladmin:20200814002137p:plain

【目次に戻る】

③標準モジュールの書き方

「開発」タブから、Visual Basic をクリックします。

f:id:exeladmin:20200814002629p:plain

 

左カラムのプロジェクトで、VBAProjectを右クリック→挿入→「標準モジュール」をクリックします。

f:id:exeladmin:20200814002728p:plain

・すると、プロジェクトに、Module1が追加されます。

・右側のコード画面にコードを書いていきます。

・先ほどのシートモジュールは、全選択(CTRL+A)で、コピーしてここに移動させるようにします。

標準モジュールに書くと、どのシートからもマクロを実行できます。

f:id:exeladmin:20200814003032p:plain

 

【目次に戻る】

④ブックモジュール(ThisWorkbook)の書き方

私がよく使うのは、このブックモジュールです。

イベントとして背後で実行される「Private Sub」を書く時に、ここに書いておくと、すべてのシートで実行できます。修正もここだけでOKなので、非常に楽です。

例えば、

f:id:exeladmin:20200814003824p:plain

これは、セルの選択場所を変えたら、セルK6に「シートカウント〇」という文字を表示させるマクロです。Private Subは、こに書いておくと全シートで実行できます。

【目次に戻る】

⑤マクロを、ボタンに登録して実行する。

最後に、マクロをボタンに登録する方法です。

いつもメニュータブから実行していたのでは疲れます。私は図形のボタンに登録してマクロを実行させています。

f:id:exeladmin:20200814004849p:plain

ファイルメニューから、挿入→図→図形→四角形 をクリックし、適当な場所に描きます。

 

f:id:exeladmin:20200814005409p:plain

ボタン上で右クリックし、「マクロの登録」をクリックします。

 

f:id:exeladmin:20200814005510p:plain

登録したいマクロをクリックして、OKします。ここの選択肢に出てくるのは、Sub()で書かれたマクロです。Private Subは登録できません・・・背後で動くマクロなので。

 

f:id:exeladmin:20200814005733p:plain

・ボタンを押すとマクロを実行できるようになります。

・いろんなやり方があり、プロの方からはご批判もあると思いますが、このやり方が後々修正もしやすくて楽だと思います。

【目次に戻る】

 

まずはやってみることですね。

プログラミングの醍醐味は、思い通りに動いた時ではないでしょうか。

失敗しながら、ああでもない、こうでもないを繰り返すことで、実力が養われます。

ネット上にもたくさん情報があるので、見てみたらいいと思います。

 

長文になりましたが、今日一番言いたかったことは、

コードを書く場所のうち、ThisWorkbook を上手に使うと、管理がすごく楽になる。

ということでした。

 

お盆ですね。

このブログを始めてちょうど1年になりました。

いつもお読みいただきありがとうございます。

備忘録としても頑張ります( ´∀` )

 

では、また(^^)/

 

【目次に戻る】