【Excel】メモリ不足でマクロが消える?
他の環境で作成したマクロ付きのExcelファイルを、別のパソコンに送付し、そこで開こうとすると次の現象が発生してしまいます。
・上書き保存しようとすると「この操作を完了するにはメモリが不足しています。扱うデータ量を減らすか、他のアプリケーションを終了してください。使用できるメモリを増やすには、以下を検討してください。 -64ビット版の Microsoft Excel を使う。」と表示され、保存ができない。
・マクロを使用しようとすると「マクロ '(ファイル名).xlsm!(マクロ名)' を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」と表示され、マクロを実行できない。
・マクロを確認しようとエディターを開くと、モジュールのみが存在し、その中身のマクロの記述は白紙になって存在しない。
・全く同じようにマクロ付きのExcelファイルを作成し送付しても、ファイルによって正常に動作するものもある。(Excel自体がマクロ無効の設定になっている訳ではなく、全てのExcelファイルに対してメモリ不足を通知される訳ではない。)
この際、必ずしもファイルサイズのより大きいファイルが正常に動かないとは限らず、1,453KBでも正常に動くファイルもあれば、537KBでも正常に動かないファイルもある(ただし、マクロの記述量自体は上記の1,453KBのファイルよりも、537KBのファイルの方が多い)。
これを踏まえた上で質問なのですが、
Q1. この症状の原因は実行環境とファイルサイズ(マクロの記述量?)によるものなのでしょうか?
Q2. この症状の回避方法は、あまり大きなマクロファイルは作成しないことしかないのでしょうか?
尚、Excelファイルの作成元の環境はMacOSX 10.9.5,Excel for Mac 2011、
送付先の正常に動作しない環境はWindows8.1,Excel2016です。
お礼
ありがとうございます。解決しました。 データ→リンクの編集→で表示される窓の下にある「起動時の確認」ボタンから「メッセージを表示しないでリンクの自動更新を行う」のラジオボタンにチェックでした。 Excelのオプション→セキュリティーセンタ→外部コンテンツ→「全ての~を有効に・・・」でも同じような設定ができるのに有効にならないのが混乱の原因ではないかと思います。 Excel でのリンクされたブックの更新に関する起動時メッセージの制御方法 http://support.microsoft.com/kb/826921/ja 外部参照 (リンク) の更新方法を制御する - Excel - Office.com http://office.microsoft.com/ja-jp/excel-help/HP010102348.aspx
補足
ちなみに同じファイルをWindowsXPとExcel2010でも同じ症状になり、同じ方法で解決しました。