vba - Excel VBA:「xxxxx.xlsmには、Excelマクロが有効なワークブックと互換性のない機能が含まれている可能性があります...」

原文 vba excel

Excelの起動時に開くxlsmファイルがあり、新しいコードでたまに更新します。正常に動作します。

数週間前から、このファイルを保存すると

my_utils.xlsmには、Excelマクロが有効なワークブックと互換性のない機能が含まれている可能性があります。ワークブックをこの形式で保持しますか?

警告を引き起こしているコードまたは機能を知る方法はありますか?

コードの一部を順次削除して、できれば追加/変更のシーケンスを元に戻すことができます。私の場合、それほど簡単ではないかもしれないので、考えられる原因の仕様を探しているので、おそらくすぐに見つけることができます。

PS:Excelのバージョンまたはファイル形式(xlsx-> xlsm)を変更した後、警告は表示されませんでした。コードの追加/更新のみでした。

編集:
まだ警告を発する私のxlsmの最小限のバージョンを取得しました。その中にダミーのPublic Functionが1つだけあります。
その関数にコメントして保存すると、警告は消えます。関数のコメントを外して保存した後、警告は表示されません(永久に消えました)。
答え
まず、コードである必要はありません...

Binary .xlsbとして保存してください。.xlsmと同じように機能し、さらに高速で小さくなります。マクロとの互換性に違いはありません。(このファイルタイプは常に使用します)

ポップアップが表示されない場合-問題が解決され、このメッセージが引き続き表示される場合は、外部オブジェクトまたはフォーマットを追加したかどうかを確認してください...互換性のないコードを追加すると、マクロが機能しなくなります。 。
関連記事

excel - Excelテーブルコピー

excel - コントロールソースによって接続されたセルはその式を失い続けます

excel - InputBoxでのシート選択の問題

vba - アレイへのVBAの割り当て

vba - VBAループロジックが必要

vba - VBAのTEMPテーブルに挿入する方法

excel - OutlookからExcelを開くときのVBA読み取り専用

ms-access - 画像ファイルを参照してOLEオブジェクトフィールドに挿入しようとしています。

excel - Excel VBA、パブリックフォルダーであるOutlookフォルダーの設定

excel - ReDim PreserveがExcel VBAコードで機能しなくなった