Vasantは、Excelで1,400行を超える非常に長いマクロを作成しました。彼がマクロを実行しようとすると、Excelはマクロの実行を拒否し、長すぎると言います。

Excelには明らかにVBAコードに制限があり、1つのプロシージャで64Kを超えるコンパイル済みコードを使用することはできません。この問題の解決策は、長いマクロを短い手順に分割することです。たとえば、モンスターマクロを、たとえば1ダースの小さなマクロに分割することができます。小さいマクロをパブリックではなくプライベートにして(Excelのマクロリストに表示されないようにする)、「コントローラー」マクロから順番に呼び出すことができます。

コードを個々のプロシージャに分割するときは、それぞれの個別のプロシージャにすべてのループとロジックが含まれていることを確認してください。また、複数のプロシージャで使用される変数がグローバル変数として宣言されていることを確認して、すべてのプロシージャからアクセスできるようにします。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(3174)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。