テンプレートファイル内のマクロ(Microsoft Excel)
ケイは、テンプレート、マクロ、ツールバーボタンで抱えていた問題について説明しました。 Kayがマクロを作成してワークブックに保存し、そのマクロをツールバーボタンに割り当てたようです。後でワークブックをテンプレートとして保存したときに、元のワークブックを削除すると、ツールバーボタンが正しく機能しなくなりました。
マクロを作成するときは、マクロを保存する場所を正確に指定する機会があります。ブックに保存し、後でブックをテンプレートとして保存する場合、ブックは、ブックとともに保存されているすべての元のマクロを含むテンプレートに変換されるため、マクロはそのまま残ります。
問題はツールバーボタンにあります。ツールバーボタンを作成してマクロを割り当てると、Excelはマクロが保存されている場所を記憶します。
ブックが最初に作成されたとき、マクロはブックに保存されていました。これは、ツールバーボタンがブック内のマクロを「指す」ことを意味します。ブックがテンプレートとして保存された後でも、ツールバーボタンは、テンプレートではなく、ブック内のマクロを指します。
この状況を修正するには、ブックをテンプレートとして保存した後、必ずテンプレートを開いて、ツールバーボタンにマクロを再割り当てするだけです。これらのマクロは、その時点で開いている他のブックではなく、テンプレート自体に存在するマクロである必要があります。その後、テンプレートを保存すると、すべてが正常に機能するはずです。
次の手順に従って、マクロを再割り当てできます。
。新しいテンプレートファイルを開きます。 (実際のXLTファイルを開き、テンプレートに基づいて新しいXLSファイルを作成しないようにしてください。)
。マクロを実行するツールバーボタンを右クリックします。
。表示されるコンテキストメニューから[カスタマイズ]を選択します。 Excelに[カスタマイズ]ダイアログボックスが表示されます。 (図1を参照)
。マクロを実行するツールバーボタンをもう一度右クリックします。
。表示されるコンテキストメニューから「マクロの割り当て」を選択します。 Excelに[マクロの割り当て]ダイアログボックスが表示されます。
。 [マクロ名]ボックスに、ボタンに割り当てられているマクロの名前が表示されます。ワークシート名(XLS)とマクロ名で構成され、感嘆符で区切られている必要があります。ワークシート名をテンプレート名に変更します。 (これは、文字XLSをXLTに変更するのと同じくらい簡単かもしれません。)
。 [OK]をクリックします。
。 [閉じる]をクリックします。テンプレートを再保存します。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2717)は、Microsoft Excel 97、2000、2002、および2003に適用されます。