- 締切済み
エクセル2007で互換モードで上書きできない
よろしくお願いします。 エクセル2000を利用して作成したファイル(マクロ、数式有)をエクセル2007で編集して 上書きをします。 編集したファイルを一旦閉じて、再度エクセル2007で開いて編集をして上書きをしようと すると添付の画像のダイアログが出てきて保存できません。 エクセルの内容は「作成物に対する作業者の工数登録」です。 「A1」という品物に対して作業者の「人(1)」と「人(2)」が2時間づつ作業をしたら合計欄に集計されて 「A1」を作るのに何時間かかったかを計算するようになっています。 怪しいのは「数式」タブの「名前の管理」の中に名前が「B439300」で参照範囲が「=#REF!#REF!」の定義があり、これがどこで利用されているかわからないので怪しいのですが、消しても現象は変わらないので関係ないかもしれません。 ちなみに上書きできない状態になるとエクセル2007の形式「.xlsm」でも上書きできません。 また、最初から「.xlsm」で保存すると保存時に「名前B439300は有効な参照範囲と競合するか、EXCELでは無効です。名前は_B439300に置き換えられました。ただし、VBAコードで参照されている名前や、関数の文字列引数として使用されている名前については、手動での更新が必要な場合があります。変更を反映させるには、ブックを閉じて再度開く必要があります。」 と毎回出てきますし、上書き保存して一旦閉じるとやはり添付の画像と同じものが出てきて保存できません。 どなたかお力をお貸しいただけると幸いです。 よろしくお願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mambo_hirata
- ベストアンサー率0% (0/0)
ご推察の通り、B439300の参照範囲の定義が邪魔をしています。 >消しても現象は変わらない とのことですが、正しく消せば、正常にエクセル2007で保存できると思います。 消し方ですが、<数式>→<名前の管理>と進んで、B439300を選択し、<削除>を押します。 その後、エクセル2007形式で保存して下さい。 ******** 自分も同様のエラーメッセージが出て、解決策を探しているときに貴殿の質問に遭遇しました。 自分でつけた、UFO1やDEF1といった参照範囲の名前が、悪さをしていることがわかりました。 UFO1やDEF1は、エクセル2007以上では、14367列目や、2840列目の1行目に相当します。 エクセル2003以前では、256列しかなかったので、問題にならなかったわけです。 貴殿の場合、参照範囲が「=#REF!#REF!」になっているということで、ご自分で作成した 参照範囲でなく、何かの時に、偶然コピーされてきた参照範囲だと思います。 ならば、なおのこと、「削除」されても問題ないと思います。 私の場合は、UFO1やDEF1を別の名前に変えなくてはなりません。システムで勝手に直して くれるのは、先頭にアンダーバーをつけて、_UFO1や_DEF1という名前です。 これをそのまま、使いましょうか。マクロもそれに合わせ変更する必要があります。
- goold-man
- ベストアンサー率37% (8364/22179)
2000のファイルを2007形式で保存し、編集後上書きして、ほとんどのマクロはそのまま動くようですが全部のマクロが動くとは限らないと思います。 互換機能パックのダウンロード 参考URL Update にアクセス Excel 2000では,OpenXML形式では直接保存できないので、一度.xls形式で保存した後ファイルを右クリック「名前を付けて保存」でOpenXML形式に変換する2段階の手順が必要 http://itpro.nikkeibp.co.jp/article/COLUMN/20061120/254137/