• ベストアンサー

エクセル セル内 文字数が多いと遅い 

ウィンドウズxp で オフィス2000を使っています。エクセルでひとつのセルの中に、沢山の文字を入力しているのですが、文字数が増えると同時にとても遅くなります。文字入力自体も遅いですし、変換も遅いです。まるで、腹話術の時差のようです。 多いといってもそこまでではありません。せいぜい500文字から1000文字程度です。同じセルの中で何度も改行はしますが。 こうも遅いと仕事をする上でパフォーマンスが悪くて困っています。 ひとつのセルで沢山の文字を入力し、そして改行も行うとして、この以上に遅くなる現象を解決できる方法ってあるのでしょうか? 以上よろしくお願いいたします。

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

  • ベストアンサー
回答No.17

テキストボックス等はユーザーフォーム上に作成してください。 保存はエクセルファイルを保存することになりますが、さしあたり保存しなくても動作すると思います。 エラーが出たときにデバッグ画面が表示されると思うのですが、黄色くなっていたり反転表示されている部分を教えていただけませんか? コード中の入力フォーム、OK、Cancel、TextBoxなどは、オブジェクト名(プロパティウィンドウの一番上)と一致していないと動作しません。 あと、フォームのコードを一部変更しました。 Option Explicit Private Sub UserForm_Initialize() TextBox.Value = ActiveCell.Value End Sub Private Sub OK_Click() ActiveCell.Value = TextBox.Value Unload Me End Sub Private Sub Cancel_Click() Unload Me End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ActiveCell.Offset(1).Select End Sub

djdjsato
質問者

補足

ありがとう御座います。 なんとかクリックすると入力フォームが出てくるようになりました。しかし全てのセルに同じ現象が起きてしまいました。 必要とするのは顧客とのやり取りをする2~3列のみです。 他のセルには、この入力フォームが出てきてしまうと、運用しずらくて 使えません。 指定した列だけを使えるようにしたいです またこの入力フォームでは、セルの中の指定した範囲の文字のフォントの色を変えたり、太字にしたりできません。 これも業務上必要ですで出来るように出来ますか?

その他の回答 (21)

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.11

djdjsato様何度もお邪魔してすみません。 メインメモリーが256KBだったころエクセルファイルを何度も書き換えしていると、腹話術状態になったことがあります。 スクロールバーも小さくなっていました。 有効なセルをコピーして、新しいBOOKに貼り付けるとスクロールバーの大きさが 普通の長さになり、動作も普通に戻ったことがあります。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.10

ANo.9のshinkamiです。 ANo.6の補足を参考に、貴方の日常の処理をシュミレートしたつもりです。 一つのセルに何日かに分けて追加入力されていますね そのため、データの一部をセルA1に入力して保存した後CPの電源を切って、 再び立ち上げてセルA1に追加入力、電源断を繰り返したわけです。 腹話術現象が発生するのは、FreeMemoryが少なくなったときと想定して、 FreeMemoryのモニターを取ったわけですが FreeMemory調査 1回目.PC立ち上げ時:89MG Excel起動時:79MG 525文字入力時:75MG 2回目.PC再立ち上げBOOK1起動 870文字(345追加)入力時:65MB 3回目.pc再立ち上げ:93MB BOOK1起動:87MB 1555文字入力:75MGB 4回目.pc再立ち上げ:91MB BOOK1起動:83MB ------------------------------- ANo.6の補足の見落としがありました。 ここまでは、セルA1のみにデータが入って他は空白です。 ご指示の通り、155文字入っているセルA1をセルA2~A51にコピー&ペースト して再度セルA1への追加入力を試みましたが正常動作です。 ------------------------------- データの結果、Excelが動作するには最低10MB程度が必要なようです。 また入力文字数と必要Memory数は単純に比例するとは言えないようですね 貴方の言われる1000文字を超えても正常動作です。 FreeMemoryを一気に減少させるために他のソフトも立ち上げたのです。 FreeMemoryの減少から推定できる最低必要量は次の通り Word:12MB,Outlook:10MB,IE(ヤフーのホームページ):23MB これらのソフトも立ち上げて、FreeMemoyを一気に20MB未満まで減少した時点で セルA1への追加入力で、一時的に腹話術現象が発生して正常動作に戻りました。 Excelのみを残して他のソフトを終了すると264MBとFreeMemoryが激増です この結果次のように考えました。 皆様全て自分が勝手に推理したものです。 誤りがありましたら遠慮なくご指摘下さい。 CP立ち上げ時に膨大なFreeMemoryを必要とするが、 立ち上げ後も開放されない Memoryを監視するSDMシステムがFreeMemoryがある限界まで減少したら、 この立ち上げにのみ必要だった領域を開放する SDMシステムはフリーソフトです。 能書きにはメモリーのクリーンアップもするとありますが… 参考URLよりダウンロードできます。 「メモリー クリーンアップ フリー」のキーワード検索で沢山ヒットします。 皆様お勧めのシステムご存知でしたらご紹介下さい。

参考URL:
http://www.vector.co.jp/magazine/softnews/060301/n0603014.html
回答No.9

>話すと長いのですが、テレアポの進捗管理シートとして使ってます。 テレアポの進捗管理シートと、どうしても一つのセルに入れなければならない理由は、どうつながるのでしょうか? また、マクロの使用は可能でしょうか?

djdjsato
質問者

補足

テレアポの進捗管理シートとしてエクセルを使うにあたり、まず、テレアポをするリストを50社をターゲットにするとします。 そこでセルの1列目の1行目から50行目までにその企業名が入ります。 次に2列目に住所が同じく1行~50行目まで埋まります。 以下同様に、 3列目の1行目~50行目 は電話番号 4列目は 担当者名   などなどです。 そして5列目のセルに、その時に電話した時の相手とのやり取りを 記述していきます。 それを一日50社に対してやります。 つまり5列目のセルには、1行目から50行目の各々のセルに、 毎日毎日40文字程度ずつ追記されていくわけです。 それが10日でひとつのセルに約400文字になり、20日で800文字になります。 それが5列目のセルの1行目から50行目まで全てのセルにおいて行われます。 そして、データの上書き保存を一日の中でも何度も行い、また毎日 PCの起動・終了は当然行っています。 すると、日に日にその列のその文字が沢山記入されているセルの 入力時のパフォーマンスが低下し、腹話術時差のようになります。 しかし、同じ列でも、まだ文字の入力されていないセルに記入をするときは、その症状はみられません。 ちなみに、そのエクセルにはマクロは組んであります。

回答No.8

エクセルに、一つのセルにこだわることの理由は何でしょうか? 差し支えなければ教えていただけませんか? 条件が具体化すれば解決策が見つかるかもしれません。

djdjsato
質問者

補足

話すと長いのですが、テレアポの進捗管理シートとして使ってます。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.7

メモリー監視ソフトセルSDM.EXE起動状態で、A1に全角で1555文字入力しましたが、腹話術現象は発生しません 他のソフトを同時 起動してFreeMemoryが20MBを切った時点で現象が発生しましたが、之も一瞬(1分以内)でFreeMemoryがPC起動時を遥かに超える175MBで変換スピードも正常になりました。 以下はそのときの記録と自分のPCのスペック?です。 FreeMemory調査 1.PC立ち上げ時:89MG Excel起動時:79MG 525文字入力時:75MG 2.PC再立ち上げBOOK1起動 870文字(345追加)入力時:65MB 3.pc再立ち上げ:93MB BOOK1起動:87MB 1555文字入力:75MGB 4.pc再立ち上げ:91MB BOOK1起動:83MB 5.BOOK1とワード等5ソフト同時立ち上げ:15MB で一時腹話術現象後 110MB ‥BOOK1以外の5ソフト終了:206MB BOOK1も終了:215MB PCスペック AMD Athron4 1.10GHz 480MB RAM (512?) XP HomeEdition Version2002 Office2000PRO

djdjsato
質問者

補足

ごめんなさい。 私にはちょっとおっしゃっている意味が難しすぎて ちょっと理解できないですわ。 でも一つのセルに1000文字近く入力し そしてその同じ列のセルに同じように1000文字近く入力したセルを 沢山の行に用意した状態で、その一つのセルに1001文字目以降を 追記したとしても、腹話術現象は発生しなかったという事ですか? うらやましいです。どうやったらそうなるのかしりたいですね。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.6

データ(式も含む)の入っているセルだけを、新しいbookにコピー&ペーストして、新しいbookだけで試してみてください。

djdjsato
質問者

補足

有難う御座います。 セルの中には、式は含まれていません。 テキストをべたで入力しているのみです。 ひとつのセルに入力する文字数は平均で500文字くらい。 多くて800~1000文字の間です。 その文字入力をする際に、毎日同じセルに、100文字くらい追加して 行くので、10日間くらいで400文字くらいになります。 20日位で800文字くらいです。 ちなみに入力するときに、別の未入力のセルに文字入力をする際は パフォーマンス低下はありません。 すでにひとつのセルに文字が500文字以上あり、それに追加で文字記入する際にパフォーマンスが劣化します。 私としては、そのセルに文字を追加入力する際に、パフォーマンス劣化しないようにしたいのです。 追加で入力するのを別のセルに一旦入力し、それをカット&ペーストで本来入力しようとしたセルに貼り付けることは出来ますが作業効率が悪いのでそれはしたくありません。 ちなみに、そのひとつのセルに沢山の文字を入力していくのは、BOOK の中で、一列だけです。その列に文字が集中しています。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.5

ANo.4のshinkamiです。 ご参考になるか分かりませんが 自分のPCは CPU:1.1GHz RAM:512MBです。 試しに全角で110の文字列をセルA1に入力して、A1000までコピーして A1001に全角文字を入力しましたが、気になる症状はありません CPの立ち上がりはどうですか? 参考URLはCPUとRAMの使用率をモニターするフリーソフトです。 オプションにクリーンアップ機能もありますが効果は殆どありません。 自分のPCは今Use Meory80% Freee Memory95mb Excelを立ち上げ、前記のBOOKを読み込むと 82%,82mbに変わりました。 貴方のやろうとされていることは何ですか? 非常に興味があります。 よろしければご披露願えませんか

参考URL:
http://www.vector.co.jp/magazine/softnews/060301/n0603014.html
djdjsato
質問者

補足

有難う御座います。 セルの中には、式は含まれていません。 テキストをべたで入力しているのみです。 ひとつのセルに入力する文字数は平均で500文字くらい。 多くて800~1000文字の間です。 その文字入力をする際に、毎日同じセルに、100文字くらい追加して 行くので、10日間くらいで400文字くらいになります。 20日位で800文字くらいです。 ちなみに入力するときに、別の未入力のセルに文字入力をする際は パフォーマンス低下はありません。 すでにひとつのセルに文字が500文字以上あり、それに追加で文字記入する際にパフォーマンスが劣化します。 私としては、そのセルに文字を追加入力する際に、パフォーマンス劣化しないようにしたいのです。 追加で入力するのを別のセルに一旦入力し、それをカット&ペーストで本来入力しようとしたセルに貼り付けることは出来ますが作業効率が悪いのでそれはしたくありません。 ちなみに、そのひとつのセルに沢山の文字を入力していくのは、BOOK の中で、一列だけです。その列に文字が集中しています。 もし試していただけるのであれば、ひとつのセルに文字を800字ほど全角入力してみてください。 そしてそのセルを、同じ列で50行ほどコピーしてみてください。 その状態でひとつのセルを選択し、801文字目から追加で文字を追加入力しようとしてみてください。 きっと私の言っている意味が伝わると思います。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.4

皆様の指摘の通りExcel向きではありませんが どのような目的で長い文字列が必要なのかわかりませんので、見当外れかも知れませんが、 邪道だと思いますが、次の2つを提案します。 1.この部分をワードパッドないしワードで作成してハイパーリンクを利用 ‥セル右クリックでサブメニューの中から入る 2.コメント挿入 ‥これもセルの右クリックから入る、 ‥コメントが作成されたら、再度右クリックでコメント表示の制御が出来る

djdjsato
質問者

補足

有難う御座います。 残念ながら、ワードパッドやワードのハイパーリンクなどは使うことは想定していません。 同様にコメント欄への記入も想定してないんです。 あくまで、エクセルのセルの中に文章を書き込む形で考えており、 その前提で、入力や変換の速度がかなり遅いのを改善したいと考えています。 以上です。よろしくお願いします。

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.3

1番です。 >その前提で、遅くならない方法を教えていただけますでしょうか? それが貴殿のパソコンの限界だと思います。 あとは2番さんのおっしゃる >そもそもエクセル向きの処理じゃないので他のソフトに変える のとおりです。

djdjsato
質問者

補足

有難う御座います。 PCのメモリやcpu等も私のpcでの最大限のスペックに 増強しております。 その前提で考えて、その上で、エクセルのセル内に文字入力する際の 速度がかなり遅くなるのを改善する方法を探しています。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

・メモリとCPUをより上のものにあげる。 ・そもそもエクセル向きの処理じゃないので他のソフトに変える

djdjsato
質問者

補足

追加情報です。 今回質問している症状は、クライアントPCのマシンスペックに依存するものではないと思っています。 ノートPC以外のデスクトップ等の別のマシン環境でも同様の事象が 確認されています。OSはいずれもXPですが、オフィスは2000だったり 2003だったりしています。 でも同じことは発生しているんです。 以上です。 よろしくお願いします。