web-dev-qa-db-ja.com

Excelのマクロワークシートとは何ですか?

Excel 2013を使用しています。VBAにアクセスするために誤って押してしまいました Ctrl+F11 の代わりに Alt+F11 「Macro1」という名前の新しいワークシートが作成されました。これは通常のワークシートのように見えますが、各列のデフォルトの列幅ははるかに広く、コンテキストメニューの[コードの表示]オプションが無効になっています。

このシートの目的と関連性については、インターネット上で何も見つかりません。このマクロシートが何であり、何をしているのか知っている人はいますか?

enter image description here

7
rajeev

これは、XLMマクロ言語の一部であるExcel 4.0マクロシートです。 Excel 4までのバージョンとの下位互換性のために含まれています。VBA言語はExcel 5で導入され、あらゆる点で非常に優れているため、XLMは段階的に廃止されました。

これを使用するには(非推奨)、一連のXLMコマンドを列に記述します。トップダウンで実行されます。それを宣言するには、その範囲の一番上のセルを選択し、[挿入]メニューの[名前]サブメニューで[定義]を選択します。適切な名前を付け、「追加」をクリックします。次に、同じダイアログ内でそれを選択すると、ラジオボタンが下に表示されます。それらは「コマンド」、「機能」、または「なし」を提供します。必要に応じて、コマンドまたは関数を選択します。

XLMのRUN関数を使用して、Excel 4.0 XLMマクロからVBAプロシージャを呼び出すこともできます。たとえば、次のマクロはブックBook1.xlsのModule1に含まれているTestサブルーチンを実行します。

=RUN(Book1.xls!Module1.Test)

この記事 で述べたように:

microsoftの「戦略的非互換性」の慣行と顧客による投資に対するまったくの軽蔑のおかげで、これらの初歩的なマクロは、最初にリリースされてから10年間、すべての新しいバージョンのExcelに特定の変更を必要とし、状況は悪化しました。 MicrosoftがExcel用の新しいVisual Basicプログラミング言語を導入して以来、より優れています(それ自体、リリース間の非互換性のプールです)。

XLMについて詳しく知りたい場合は、次のリソースをご覧ください。

8
harrymc

人々はユーザーからデータを「隠す」方法を探していましたが、xlVeryHiddenを使用していても、VBAエディターに移動するとシートを表示できます。 VBAプロジェクトをパスワードで保護できますが、多くの人がこれを忘れています。このXLMシートはVBAプロジェクトに表示されず、すべてのシートをループすると、表示されません。したがって、このシートでxlVeryHiddenを使用する場合、それについて知っているのはあなただけです。パスワードの埋め込みなどに使用でき、複雑なVBAコードでの呼び出しを難読化できます。ちょっとした考え :-)

2
Andrew Robson