- 締切済み
【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です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mt2015
- ベストアンサー率49% (258/524)
> Q1. この症状の原因は実行環境とファイルサイズ(マクロの記述量?)によるものなのでしょうか? A1. 環境によるもので、ファイルサイズは無関係と思われます。 ExcelはWindows版が基になっているのでMAC版はあまり出来が良いとは言えません(特にMAC Excel2011のマクロ)。 また、MACとWindowsは文字コードも異なりますので、コードが文字化けしたり開けない事もあります。 > Q2. この症状の回避方法は、あまり大きなマクロファイルは作成しないことしかないのでしょうか? A2. MAC、Windows間ではマクロ有りのファイルをやり取りしない事です。 また、マクロ無しのファイルでもファイル名に日本語を使用しない方が良いです。
- aokii
- ベストアンサー率23% (5210/22063)
Q1. この症状の原因は実行環境とファイルサイズ(マクロの記述量?)によるものでしょう。 Q2. この症状の回避方法は、あまり大きなマクロファイルは作成しないことしかないでしょう。 Excelファイルの作成元の環境はMacOSX 10.9.5,Excel for Mac 2011、 送付先の正常に動作しない環境はWindows8.1,Excel2016でしたら、できれば、Excel for Mac 2011で作ったマクロファイルはWindowsのExcel2016では開かないことをお勧めします。
お礼
後日談とでも言いますかその後の事の顛末なのですが、 保存していた以前のバージョンから前述の症状が出ないものを探し、そのファイルのマクロや関数などを逐一動作確認しながら最新のものに置換していった所、無事にマクロの消滅現象を回避することができました。 原因の究明を進めていたものの、「マクロを変更してからシートを削除すると動く」のに「シートを削除してからマクロを変更しても動かない」など、同一の状態でもそこに至る過程次第で結果が異なる事態も発生した為、断定的なことは言えないのですが、十中八九「シートの削除」に絡んだ症状なのではないかと推測しております。
補足
申し訳ありません。 あれから検証を進めていたのですが、他のMac環境に送付してもマクロが消える現象を確認しました。 この際、よくわからない現象も併発しており、 ・未完成の旧バージョンのファイルにはマクロが記録されており、実行もできた。 ただし、文字コードの関係か商だけを求める演算子の「¥」が「\」に変換されており、実行時にはエラーが発生した。 ・前述の旧バージョンに諸々機能が追加された最新版ではWindows環境と同様にマクロが消失しており、実行できなかった。 ただし「メモリが不足しています」という通知は出ず、上書き保存自体は正常に出来た。 因みに新たに上記現象を確認した環境は、MacOS Sierra10.12.6、Excel for mac 15.37でした。
お礼
後日談とでも言いますかその後の事の顛末なのですが、 保存していた以前のバージョンから前述の症状が出ないものを探し、そのファイルのマクロや関数などを逐一動作確認しながら最新のものに置換していった所、無事にマクロの消滅現象を回避することができました。 原因の究明を進めていたものの、「マクロを変更してからシートを削除すると動く」のに「シートを削除してからマクロを変更しても動かない」など、同一の状態でもそこに至る過程次第で結果が異なる事態も発生した為、断定的なことは言えないのですが、十中八九「シートの削除」に絡んだ症状なのではないかと推測しております。
補足
申し訳ありません。 あれから検証を進めていたのですが、他のMac環境に送付してもマクロが消える現象を確認しました。 この際、よくわからない現象も併発しており、 ・未完成の旧バージョンのファイルにはマクロが記録されており、実行もできた。 ただし、文字コードの関係か商だけを求める演算子の「¥」が「\」に変換されており、実行時にはエラーが発生した。 ・前述の旧バージョンに諸々機能が追加された最新版ではWindows環境と同様にマクロが消失しており、実行できなかった。 ただし「メモリが不足しています」という通知は出ず、上書き保存自体は正常に出来た。 因みに新たに上記現象を確認した環境は、MacOS Sierra10.12.6、Excel for mac 15.37でした。