思考酒後

自分に入ってきた情報を定着、深化するために文章化

MENU

【Excelマクロ】マクロを起動する方法 4つとおまけ


 こんにちは、masaです。

 今日はマクロを起動する方法 4つを自分用のメモとしてまとめておきます。

 個人的には一番効率の良い「セルを更新すると起動する」がオススメです。

 

f:id:masa_mn:20200320103626j:plain

 

①マクロの表示→実行

  開発タブからマクロの表示をクリックして、

f:id:masa_mn:20200320095956p:plain

 起動したいマクロを選択して、実行。

f:id:masa_mn:20200320100034p:plain

 ちなみにAlt+F8でショートカットになるみたいですね。覚えてたら便利かも。

 

使いどころ

 特別ないけど、一番基礎的な方法。

 

②エディターの表示→コード内(Sub~End Sub)でF5

  開発タブのVisual Basicをクリック、

f:id:masa_mn:20200320100212p:plain

 起動したいマクロのコードを選択して、カーソルがSubとEnd Subの間にあるときにF5を押す。

f:id:masa_mn:20200320100556p:plain

 

 エディターの表示はAlt + F11でショートカットできるのでオススメです。

 

使いどころ

 コードを書いている途中によく使う。

 

③図形にマクロを登録→図形をクリック

 図形を選択して、右クリックして、「マクロの登録」をクリック

f:id:masa_mn:20200320100653p:plain

 登録したいマクロを選択する。

f:id:masa_mn:20200320100841p:plain

 以後、図形をクリックするだけでマクロが起動する。

 

使いどころ

 普段使い。コードが完成して日常的にマクロを使うときに登録しておくとマクロを知らない人がマクロを使うときに便利。

 

④特定のセルを更新

 特定のセル、もっと言えばあるシートの特定のセルを更新するとマクロが起動することができる。

 エディターを起動して「あるシート」の中に以下のコードを入力しておく必要がある。

 

▼四角で囲っているようにシートの中にコードを入力しておく必要がある。ここではSheet1の特定のセルを更新するとマクロが起動するようになっている。

f:id:masa_mn:20200320101051p:plain

 

Private Sub Worksheet_Change(ByVal Target As Range)
'セル番地を指定
If Not (Target.Row = 2 And Target.Column = 2) Then Exit Sub

'起動するマクロを指定(macro1というマクロをModule1で作成済み)
macro1
End Sub

 

 特定のセルを更新することでマクロが起動するように設定しておけば、クリック数が最小限になるので個人的に一番オススメ。

 

使いどころ

 とにかくめんどくさがりだったり、使用頻度が多いマクロの場合。図形をクリックする手間さえも省略できる。

 

おまけ:シートを選択したときに起動

 マクロの起動の対象となるシートの中に以下のコードを入力しておく。

 先ほどと同様にPrivate SubとEnd Subの間に起動させたいマクロを書いておく。

 

f:id:masa_mn:20200320110755p:plain

 

 

 

Private Sub Worksheet_Activate()
macro1
End Sub

 

使いどころ

 不明。いつかなにかに使えそうなのでメモしておく。

 

まとめ 

 マクロを起動する方法は①マクロの表示→実行、②エディターの表示→コード内(Sub~End Sub)でF5、③図形にマクロを登録→図形をクリック、④特定のセルを更新するの4つがある。

 コードを書いている最中には②エディターの表示【Alt + F11】→コード内(Sub~End Sub)でF5がかなり便利で、

 普段使いするなら③図形にマクロを登録→図形をクリックが便利で、

 めんどくさいのが嫌いなら④特定のセルを更新するのが一番効率がいいといった使い分けができるかなと思います。

 おまけのシートを選択したときに起動もいつか使えるんじゃないかな。