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

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

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

注:

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

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

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

このヒント(10449)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Maximum_Length_Limit_for_a_Macro [マクロの最大長制限]