エクセルブックが保存できない

このQ&Aのポイント
  • エクセル2000および2003で、各シート5万個程度の式・値が入ったブックが突然保存できなくなりました。メモリは1GBつんでますし、もっと大きなブックも処理できていますので、別に原因がありそうです。
  • ブックを開くことはできるので、ファイルが壊れているわけではないようです。サポートページをみましたが、わかりませんでした。
  • エクセルブックが保存できず、「応答なし」の状態になり、エクセルを強制終了するしかできません。この症状に心当たりのある方は教えてください。
回答を見る
  • ベストアンサー

エクセルブックが保存できない

エクセル2000および2003で、各シート5万個程度の式・値が入ったブック(外部参照は約一万個、シート数は2枚、大きさ約8メガバイト)が突然保存できなくなりました。 保存しようとすると「応答なし」の状態になり、エクセルを強制終了するよりほかなくなります。 それ自体をみると、単にハードの力量不足にしかみえないのですが、メモリは1GBつんでますし、もっと大きなブックもふつうに処理できていますので、別に原因がありそうです。 ただ、ブックを開くことはできるので、ファイルが壊れているわけではなさそうです。 サポートページをみてみましたが、ちょっとわかりませんでした。 どなたかこうした症状に心当たりのある方、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 よく誤解される方が多いようですし、Excelのヘルプにも、メモリについて、「使用可能メモリに依存」なんて書いてあると、物理的メモリのことだと思いこんでいる人もいますが、Excelの Version によって違いはあるものの、あまり物理的なメモリと相関関係はないようです。 >シート5万個程度の式・値が入ったブック(外部参照は約一万個、シート数は2枚、大きさ約8メガバイト) 外部参照式が、1万ですと、保存の際に、一旦、計算しなおそうとするので、一度に負荷が掛かってしまいます。 例えば、ツール-オプションの計算方式[タブ]で、手動に換えておくとか、外部リンク値を保存する 、というチェックボックスを外しておくとかしたらいかがでしょうか?

into_the_night
質問者

お礼

ご回答ありがとうございました。

into_the_night
質問者

補足

各シートの式・値が10万超、シート数10枚以上で、外部参照が計3万超のブックをほかに扱っていますが、(時間はかかるけれども)いちおう保存できます。 ですので、リソースの問題ではない、と考えていました。 しかし、当の巨大ブックを参照先にしているのがいけなかったようです。外部参照式をすべて取り除いたらすぐに保存できました。

関連するQ&A

  • EXCELの複数シートをそれぞれ別ブックへ保存したい

    EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。

  • エクセルのブックの値のみのコピー

    お世話になります。 エクセルに計算式をたくさん織り込んで作成したら重くなってしまいました。1ブックが1.3メガくらいになってしまいました。毎月40ブック程度使用するため、1年間で換算すると1.3メガ×40ブック×12ヶ月で624メガとなってしまいます。できれば保存しておくのは値だけあればいいので、ブック内の値を計算式を排除して値のみの保存にしたいと考えています。1ブックが30シートほどあるのでシート毎のコピーは大変手間がかかるのでできればブックごとコピーしたいのですが、よい方法はありますでしょうか? ご教授お願いいたします。

  • VBからEXCELを保存

    VBからEXCELに保存したいのですが、前準備としてEXCELのsheet2で保存します。VBを実行したときにExcelのsheet1に保存したいのですが、どうすればいいかわかりません、おしえてください。多分、保存するときにSheet2を対象にしていると思うので、sheet1を対象にしたいのですが・・・ /****************** VBを実行したときの処理 ********************/ 'アプリケーションの参照 Set xlApp = CreateObject("Excel.Application") 'ブックの参照 Set xlBook = xlApp.Workbooks.Open("C:\テスト\テスト.Xls") 'シートの参照 Set xlSheet = xlBook.Worksheets("Sheet1")

  • エクセルブックが開かない

    エクセル2000で、各シート10万個以上の式や値が入ったブックを扱っていたのですが(シート数は10枚以上)、ファイルの大きさが43MBを超えたところで、ファイルが開かなくなりました。 ファイルを開こうとすると、「問題が発生したため、・・・終了します」というエラー画面が出て、エクセルは少なくとも見た目閉じてしまいます(プロセスは進行しています。つまり、タスクマネージャのプロセスで確認できます)。 エクセル2003で開こうとしても、やはり同様です。 何らかの形で中のデータを取り出したいのですが(バックアップも同様に開かなくなってます)、何か方法はございますか。

  • エクセルで別ブックのあるシートのセルをリンクさせ

    エクセル2010です。 あるブックのシート の あるセルを 別ブックのシートの あるセルとリンクさせ 数値を=で 表示させておりました。 参照ブックを別のものにかえて リンクを消して うちなおして 別ブックのシートのあるセルと リンク替えを しようものも 以前の リンクが いっこうに消えなくて リンク変えができません。 いったいどういう原因が考えられますでしょうか? 大変こまっております。 これが原因なのかと多少おもわれるのは 参照ブックを名前を変えて 保存していろいろと 変更して保存したものが 今回リンク変えをしようとするものぐらいですが・・・ よろしくおねがいします。

  • エクセルのブック相互の参照の方法

    XP,2007です。エクセルの同一ブック内の他シート参照は何とか理解しております。別ブックの各シートを参照することはできるでしょうか。よろしくお願いします。

  • EXCELマクロでブック内のリンク状態を取得する方法

    ブックが外部参照していると、取込時にエラーになってしまうソフトを使っています。 事前にEXCELマクロでブック内のリンクの状態の取得することで、エラーを回避できればと思っています。 外部参照、リモート参照ともに更新せずにブックを開くのは下記の方法でできそうなのですが、そこから先の方法が解らず困っています。 Workbooks.Open Filename:="C:\My Documents\リンク元.xls",UpdateLinks:=0 =[リンク先.xls]Sheet1!$A$1+[リンク先.xls]Sheet1!$A$2 条件1:このリンク先は「パス」も「ファイル名」も変動します。 条件2:無条件で値貼り付けはできません。

  • Excelで他のブックのセルを参照したいのですが

    コンボボックスにセットする値を、 VBAで他のブックを参照してセットしたいと思っています。 ブックAのシート1にコンボボックスを作り、 ブックBのシート1から取得しようと考えています。 ブックBのシート1には、あらかじめ「範囲A」の名前を定義して この範囲の値を参照するつもりです。 ただ同じフォルダ内にブックBを置いていれば参照できるのですが、 他のフォルダにブックBを置くと参照されません。 <同じフォルダにブックBを置いた場合>○参照できた ComboBox1.ListFillRange = "[ブックB.xls]シート1!範囲A" <他のフォルダにブックBを置いた場合>×参照されない ComboBox1.ListFillRange = "C:\[ブックB.xls]シート1!範囲A" 記述の仕方がおかしいのでしょうか? 宜しければご教授お願い致します。

  • ExcelのVBAでブックの保存

    ExcelのVBAでブックを追加し保存を行っています。 その際、保存は、どこに行うのがよいのですか bookですか。sheetですか。 両方で、SaveAsができまが、使い分けがあるのでしょうか。 どのように使い分けするのでしょうか。 Workbooks.Add ActiveSheet.Name = "サンプル" ActiveSheet.SaveAs OutFileName ActiveWorkbook.SaveAs OutFileName ActiveWorkbook.Close

  • EXCEL 別のブックにコピペしたときのセル参照

    2つのエクセルブックがあります。 ブックA:sheet1、sheet2 ブックB:sheet1 ブックAのsheet2にはブックAのsheet1を参照した関数が沢山組んであります。 このsheet2をブックBにコピーしたいのですが、ブックBに新しいシートを作りコピペしても、 sheet2を右クリックで「移動またはコピー」にしてもブックBに移したsheet2はブックAを参照してしまいます。   =SUM([ブックA.xls]Sheet1!A3:A7) というように。 ブックAではなく、ブックBのsheet1を参照するように =SUM(Sheet1!A3:A7) となるようにコピペしたいのです。 1つ1つ関数の参照部を消すのも面倒なので、何か良い方法はありませんでしょうか エクセル2003です。よろしくお願いします。

専門家に質問してみよう