• ベストアンサー

エクセル 遅いんです、助けてください

エクセル セルを細かくしているせいなのか、コピペがものすごく遅くなってしまっています ひどいときには10分くらい 関数、入力規則等全てはずしたのですが、変化ありません どなたか、サクサク作業できる方法を伝授してください

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.3

ファイルのサイズがやけに大きかったりする場合は、見えないシェープのためかもしれない。 [ツール][マクロ][Visual Basic Editor]でVBE画面にして、下の方にあるイミディエイトウィンドウ(表示していない場合は[表示][イミディエイトウィンドウ]で表示する)で下を実行する。 MsgBox ActiveSheet.Shapes.Count これが0(または小さい数字)なら見えないシェープのためではないので、以下は不要。 大きい数字なら見えないシェープがあるので、以下を実行すると全てのシェープを消す。 For Each sh In ActiveSheet.Shapes:sh.Delete:Next 一応もう一度 MsgBox ActiveSheet.Shapes.Count を実行して、0になった事を確認する。

shidaman
質問者

お礼

レスありがとうございます また、丁寧に感謝しています 早速実行してみました 数字は、59727でした… シェープを消してみてるんですが、CPU100%で応答なしになってしまいます 解決方法はありそうでしょうか?

その他の回答 (5)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.6

こんにちは。 ワークシート内のオブジェクトを一括削除するなら、 ActiveSheet.DrawingObjects.Delete でできますよ。 または、新規シートにデータを移すことを試してみて下さい。 セルの表示形式や計算式を残すため、そのシートを SYLK(*slk)形式で 別名保存し、開きなおします。 そのあと、元のシートのセル範囲をコピーし、形式を選択して貼り付け で *.slk 側に書式のみ貼り付けます。

  • hotosys
  • ベストアンサー率67% (97/143)
回答No.5

>数字は、59727でした… >シェープを消してみてるんですが、CPU100%で応答なしになってしまいます 50000個も消すとなると、結構時間がかかるはず。 これは数が多いからではなく、シェープの数が多い時の1個の削除が少ない時の1個の削除に比べて時間がかかるため。 つまり、50000個ある時1000個を消す時間と1000個ある時1000個を消す時間は極端に違う。 時間がかかるので、気長に待ってと言うのも何なので、 For Each sh In ActiveSheet.Shapes: sh.Select False:Next:Selection.Delete:MsgBox "終了" なら少しは早いはず。 それでも結構時間がかかると思うので、少し気長に。

shidaman
質問者

お礼

一晩寝かせて帰ったら、カウント0になってましたっ!! 結果、劇的改善ビフォーアフターでしたっ! 6Mのファイルが、64KBになてました ホントにありがとうございました

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

もう少し情報を OSは Xp Vistaなど エクセルのバージョン 2000とか2003,2007とか コピペが遅くなったのは 特定のファイルだけ             エクセルのファイルだけ             ワードとかも?  

shidaman
質問者

お礼

レス、ありがとうございます OS XP Home Ver2002 sp2です 遅くなったのは、特定のファイルのみです

  • noah7150
  • ベストアンサー率46% (116/251)
回答No.2

Cell数が増えるたびに遅くなりますよ。 現在のセル数とか マシンスペック等も書いてくれないと皆さん解答し辛いと思う 自動計算を外してます? 複写等の作業を終わって手動計算すればもしかすると速く感じるかもね

shidaman
質問者

お礼

早速のレスありがとうございました 素人で申し訳ないんですが、CPUは1.6G、メモリ増設1G?です セルは横列260強、縦50弱なんですが兎に角時間がかかります 20ピクセルのピッチで表を作っているのですが・・・ ちなみに、自動計算ははずしてみたのですが、あまり体感はありませんでした

  • kickknock
  • ベストアンサー率31% (207/661)
回答No.1

うーん、メモリ容量がどのぐらいあるかだと。 私も4万行に数式を入れていた時、10分ぐらい掛かった気がします。 たいした役に立てなくて・・・・

shidaman
質問者

お礼

早速のレスありがとうございました こちらこそ、なにぶんわかることが少なく、逆に申し訳ありません・・・

関連するQ&A

  • エクセルで列の取得

    A1セルに名前、A2セルに番号、A3セルに趣味と入ったエクセルがあり、B行から各々のデータを入れたものがあります。 このデータを使って別のエクセルに、A1に趣味、A2に名前と順番を変えたシートを作りたいんですが、コピペでやるのが早いのは分かるんですが作業が面倒なので、なにかしら関数を入力してあるエクセルファイルに、元となるエクセルデータをsheet1にいれれば勝手にsheet2が生成されるみたいなことをやりたいです。あるファイルの列を違うsheetに並べ替える関数なんてものは存在するのでしょうか?また、このようなことがしたい場合方法はありますでしょうか? やりたいことがうまく説明できないんですがよろしくお願いします。

  • セルを移動すると関数が変わる

    マイクロソフトのエクセルで、関数が入力されたセルを移動・コピペしたりすると関数で指定したセルの位置がズレてしまいます。関数だけをコピペすればズレは発生しませんが、コピペしたいセルが複数ある時には使えません。 セルを直接コピペして関数指定のセルがズレない方法はありませんか?

  • エクセルの入力規則で「@」を含むものとするには?

    メールアドレスを入力するセルに、誤ってURLを入力されることがあり困っています。 そこでエクセルの入力規則で、「@」を含むものしか入力できないようにしたいと考えたのですが、そのやり方がわかりません^^; どのようにすればよろしいでしょうか? ※入力作業はコピー・ペーストで行います。 ※入力規則以外でも良い方法ありましたらあわせて教えてくださいませ。 以上よろしくお願いいたします。

  • Excelで関数とか数式を固定したい

     win xp office 2003 です。  Excelのセルに数字とかを入力するときに、入力ミス等で関数とか数式が壊れることがありますが、これを防ぐ方法ってあるでしょうか。  入力規則等ででも出来ないかと考えましたが、いい方法がありません。  どなたか方法があれば教えて下さい。

  • エクセルのリスト表示に関して

    エクセルで 入力規則のリストをつくりを2つのセルにある数値を選んで表示できるようにしたいと思っていますが、 「入力規則」 → 「リスト」に行き 関数を表示しているセルを『2つ』選ぶと 条件 データの入力規則 には、OR演算、AND演算、配列定数は使用出来ません。 となります。 使用している関数は =数値*1.05 とかの関数です。 どうやれば出る様になるかお教え下さい。

  • EXCELでの工程表の作り方を教えてください

    EXCELは簡単な関数しか使えない者です。 この度下記のような工程表を作成することになり、 検索しましたがなかなか思うような例がありません。 関数・マクロに詳しい方、どなたかご教授願えませんでしょうか。 (利用環境はExcel2003です) (1)A1のセルに「入力規則→リスト」で担当地区を選択するようになっている (2)A4~A200のセルに、細分化した作業工程の明細が段階毎に入力されています。 (3)B4~B200のセルは「入力規則→リスト」で”未処理”と”処理済”を選択するようにしています。 今回の要望はB列のセルを”処理済”にした段階で、 同じ行のC列に、A1で選択している担当地区をコピーし、 同時にD列に”処理済”に変更した年月日時間を入力したいのです。 色々調べてIF関数で挑戦してはみたものの、 A1セルを変更した段階で今までの作業工程も 全て更新されてしまいます。 マクロ・関数で実現可能であればご教授いただきたいです。 宜しくお願いいたします。

  • 「コピペについて」EXCEL初心者です。簡単にお願いします。

    今仕事で、EXCELを使ったデータ入力作業を行っています。 5000件のデータを入力し終わり、いざ本元のシートへとコピペしようとしたのですが、うまくいきません。 本元のシートというのは15000件のレコードを持つEXCELデータです。今回のデータ入力分シート(前述の5000件)はこの中から選出されたデータであるため順不同(レコードが飛んでいる、すでに入力済みなど。手作業で行われているためどこが抜けているか判断しづらい)です。 よって、フィルタオプションを使用して、本元のシートから5000件のシートを検索条件とし、抽出しました。本元のシートはうまく5000件のシートと同じように並んだのですが、コピペでどうしても躓いてしまいます。 範囲指定からコピペをしても、「コピー範囲と貼り付けの領域が違う」と怒られた為、一番トップにあたるセルを選択しペーストをしたのですが、なぜか、レコードがずれて入力されてしまうのです。 このとき本元のシートを全て表示してみると、抽出されていないレコードにデータが入力されていました。 どなたか、いい方法を教えていただけませんか?初心者ですので簡単な方法をお願いします。。。

  • エクセルで関数、マクロを使うと文字の色が消える

    2468 1234 8642 このように入力されたエクセルのデータを1列に並び変える 作業をしています。実際のセルには色と文字色の情報もありますが、 関数やマクロを使って一気に作業すると全てこの情報が抜けてしまいます。 そのまま色と塗りつぶしを残したまま作業する方法がありますか?

  • セルの内容を合わせるエクセル関数

    お世話になります。 エクセルの関数にて、下記条件を満たす関数が作れないので 分かる方がいましたら教えてください。 A列には文字列が、B列には空白か1の数字がランダムに(1番上の行は必ず空白セル)入力されています。 これに対して、B列に空白から1が続いているセルまでをひとくくりとして、 右側のセルに表示させたいです。 画像では C2セル=A2 C3セル=IF(B3=1,C2&A3,A3)としてC4セル以降にコピペ D2セル=IF(B2="",C2,"")としてD3セル以降にコピペしていますが、 C列でひとくくりになるセルが下へ行ってしまい、 希望する結果に表示されないです。 関数が組める方がいましたらご伝授頂けますでしょうか。

  • エクセルについて

    ある2つの作業がありそれぞれの作業時刻をエクセルの同シート内のセルに入力します。最初に始まったほうの作業開始時刻を別のシートのセルに反映させたいのですがうまくいきません。IF関数で試みましたが、遅く始まるほうの作業開始時刻が未入力だとうまくいきません。(作業開始時にそのフォームをファックスする為、入力してすぐ反映することが必要です。)なにかよい方法はないでしょうか?ご教授お願いいたします。

専門家に質問してみよう