Macでエクセルのショートカットを再現してみましょう

Excel

Macでエクセルを動かしていると、Windowsではできたショートカットで使えないものが出てきます。以前のエントリーで個人用マクロをショートカットに割り当てる方法を書きましたが、その後別のファイルで同じショートカットを使おうとすると使えなくなってしまいました。何とかこの不便を解消してみます。

昨日までできていたのに

エクセルで月ごとの売上を合計して1年分の売上を計算しようと範囲指定のショートカットを使ったのですがエラーが出てしまいました。

Error message

メッセージは「400」のみ。これは以前にも見たことがあるエラーでシートやセルの指定が間違っていることが原因で起こるエラーです。前回同じエラーが出てきたときは、マクロを動かす場所の指定の仕方が間違っていて、それを正しく指定することで解決しました。具体的にはマクロを書いた場所が、特定のシートでマクロを動かすための場所(難しい言葉でシートモジュールと言います)だったため、それをファイル全体で動かすための場所(標準モジュールと言います)に書くことで解決しました。今回も同じ理由でエラーが出ているとすれば、以前マクロを書いたのと別ファイルを使っていたからだと推測しました。それなら、このファイルでもマクロを書けばいいと思いましたがファイルを作るたびにマクロを書くのはどう考えても非効率です。なので、エクセル全体で同じマクロを使える方法はないかと考えました

マクロの特徴は階層構造にあり

分からない問題が出てきたので基本に戻って考えます。私にマクロを教えてくれた方が、「もしマクロの特徴を一言で説明しなさいと言われたら、『階層構造』と答えます」とおっしゃっていたことを思い出しました。少し説明すると、マクロはエクセルに指示を出して決められた作業をさせるという仕組みです。この、エクセルに与える指示の中で必要不可欠なものの1つが、作業をさせる場所です。たとえば「『エクセルマクロというbook』の『売上シート』にある『セルE3』」 というように具体的に指示を出すのです。 なので、この作業をさせる場所を「今開いているBook」の「今使っているシート」に指定する事を考えました。その上でこの方法にあてはまるマクロの書き方がないか調べてみると、該当するものがありました。

個人用マクロブックにマクロを保存する

私はマクロを使う場所を指定すればいいと考えましたが、エクセルにはエクセル全体でマクロを有効にするための個人用マクロブックというブックが用意されていたのです。ただ、この個人用マクロブックは最初からあるわけではなくて、自分で作成する必要があります。方法は簡単でエクセルの表示タブからマクロを選んでマクロの記録を選択します。その時に保存先を聞かれますので、個人用マクロブックを選択するだけです。

Personal book

これで個人用マクロブックができたので、そこにマクロを書きます。マクロを書く場所にあたるVBEを開くと左のサイドバーに新しくVBAPROJECT(PERSONAL.XLSB)というツリーができています。これが作成した個人用マクロブックのことですので、ここにある標準モジュールにマクロを書きます。

Vbe

ショートカットを割り当てて完了です

次に、通常のエクセルの画面に戻って表示タブからマクロを選びさらにマクロの表示を選択します。個人用マクロブックにかいたマクロのマクロ名が出てきますからそれを選択してオプションを開きます。割り当てたいショートカットをキーボードで選択して保存先にPERSOAL.XLSBを選べば完了です。これでエクセルを開けばどのbookでも同じショートカットでマクロが実行できます。

Short cut

まとめ

今回は最初に思いついた方法では解決できませんでしたが、基本となる考え方を知っていたおかげで短時間で解決策までたどり着けました。やはり基本は重要ですね。
<おまけ>
最近マクロを書いていないので知識が薄れたような気がします。もう一度トレーニングして取り戻します。

タイトルとURLをコピーしました