こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2006-11-20 20:46:45

QNo.2551842

すぐに回答ほしいです

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

テキストボックス等はユーザーフォーム上に作成してください。
保存はエクセルファイルを保存することになりますが、さしあたり保存しなくても動作すると思います。

エラーが出たときにデバッグ画面が表示されると思うのですが、黄色くなっていたり反転表示されている部分を教えていただけませんか?
コード中の入力フォーム、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

投稿日時 - 2006-11-27 12:57:19

補足

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

またこの入力フォームでは、セルの中の指定した範囲の文字のフォントの色を変えたり、太字にしたりできません。

これも業務上必要ですで出来るように出来ますか?

投稿日時 - 2006-11-30 13:31:06

このQ&Aは役に立ちましたか?

16人が「このQ&Aが役に立った」と投票しています

回答(22)

ANo.22

>日々の運用上、別のブックにコピーペーストを行うという
>運用の仕方は現実的には無理ですので、せっかく提案いただきましたがちょっと難しいですね。

説明不足でした。
更新の都度コピー&ペーストするのではなく、1度やるとしばらくはやらなくてよいと思います。

何回も更新を繰り返すと、ファイル容量が必要以上に大きくなるようです。

自分のPCはWindowsXp Excel2000ですが、
120回くらい更新をしたファイルがありましたので、これを新しいファイルにコピーしてみました。その結果 196KBが164KBに減少しました。

注、他のワークシートを参照している場合、元のファイルのワークシートを参照するんで、参照式を変更する必要があります。

投稿日時 - 2006-12-01 00:06:14

ANo.21

>なんとかクリックすると入力フォームが出てくるようになりました。しかし全てのセルに同じ現象が起きてしまいました。

ANo.16にて、以下のコードはダブルクリックした行が15行目か16行目の場合にフォームを表示するというものです。全てのセルで表示されるということですので、この行がうまく機能していないようです。

If Target.Column = 15 Or Target.Column = 16 Then
入力フォーム.Show
End If

>またこの入力フォームでは、セルの中の指定した範囲の文字のフォントの色を変えたり、太字にしたりできません。

書式を変更するとなると、ちょっと厳しいですね・・・。方法はあると思うのですが、お伝えする自信がありません。

質問です。
2列用意しているとのことでしたが、2列目が腹話術現象を起こすほど大量に入力されることはありますか?また、もし2列目が一杯になる場合はどう対処しますか?

もし2列目が腹話術現象を起こさない程度であれば、1列目が一杯になるまではAN0.12のような方法で追記し、2列目は普通に入力するといった手段が考えられるのですが・・・。

投稿日時 - 2006-11-30 18:33:28

ANo.20

腹話術の時差現象は資源の無駄使いが原因だと思いますので色々試していただいたのですがどれも効果がなく、貴重な時間無駄にされたようで申し訳ありません。

ご迷惑ついでに次のような2つの提案をさせていただきます。

1・BOOKを新規作成して、ここへ有効なセルだけをコピー&ペーストして、保存。これで新旧のファイルサイズに大きな差異(2倍以上)があれば解決です
複数のワークシートのときはワークシート名を旧のものと同じにしてから、
参照されるシートからコピー&ペーストです

2・別のサイトですが、参考URLに詳しくありました。
何がどう効くのかわかりませんがANo.4(20pt獲得)も参考になりますか

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=609660

投稿日時 - 2006-11-30 09:17:03

補足

ありがとうございます。
日々の運用上、別のブックにコピーペーストを行うという
運用の仕方は現実的には無理ですので、せっかく提案いただきましたがちょっと難しいですね。

投稿日時 - 2006-11-30 13:29:50

ANo.19

30列もあり、マクロまで組み込んでいる事情があるのでしょう
仕組みの変更は大変ですね、今回はこのまま行くとして

オートフィルターは大変便利なものです。次の方法で体験してみて下さい。
今後の仕組みづくりに使いたくなりますよ

データが50行まで入力されているとして
1.BOOKにSheetを追加して、sheet1のセルA1~C51までをSheet2に3回貼り付けてます
これで153行の表ができますね、途中に入った見出し行を削除して、151行の表にします
2.セルD1にアポ状況と入力、セルD2にアポ情報1と入力
3.セルD2をクリックして、D2の右下にマウスカーソルを移動するとマウス記号が白十字から単なる+に変わります。この状態でマウスの左を押下、下のセルへドラッグするとアポ情報2、アポ情報3…と変化していきます。アポ情報150まで来て準備完了です。

4.セルB5くらいをクリックして、ツールバーのデータからフィルタに入ってオートフィルタをクリックします。

これでオートフィルタの設定完成です。

A列の▼をクリックして下さい。

いかがですか

投稿日時 - 2006-11-27 21:45:06

補足

ありがとう御座います。
このオートフィルタは私の抱えている
解決すべき一つのセルに沢山の文字を記入する際の
パフォーマンス低下の改善案という事ですか?
私もオートフィルターという名称についてはあいまいでしたが
もともとこのテレアポシートにはオートフィルタが
設定してあります。すみません言うのが遅くて
それは、4行目に 企業名、住所 郵便番号 担当者名 電話番号
顧客アプローチステータス 顧客カテゴリー 等々で オートフィルターでソートできるようになっています。

以上よろしくお願いします。

投稿日時 - 2006-11-28 17:38:04

ANo.18

メモリ管理ソフトは試してもらいましたか

ディスクのクリーンアップはご存知ですね、RAMメモリーにも必要です。
どうしてこの機能がWindowsXpに入っていないのか不思議です。

「メモリーの掃除屋さん」のURLを参照URLに入れておきます。
ここをクリックして、インストールしてください。
数回のクリックでのフォルダーがデスクトップ上に作成されますので、この中の「MemClCmd.exe」を実行してください。

きっと腹話術時差は解消すると思います。

参考URL:http://www.vector.co.jp/soft/win95/hardware/se190988.html

投稿日時 - 2006-11-27 20:58:57

補足

ありがとうございます。
こちらはこちらで試してみます。
ちなみに、エクセルの腹話術時差現象は改善されませんでした。残念。

投稿日時 - 2006-11-28 17:00:48

ANo.16

まず、シートのタブを右クリック→コードの表示をクリックします。

以下のコードを記述します。

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 15 Or Target.Column = 16 Then
入力フォーム.Show
End If
End Sub

次に、メニューバーから挿入→ユーザーフォームを選択します。
メニューバーの表示から、ツールボックスとプロパティウィンドウを表示させます(すでに表示されている場合は無視してください)。

ツールボックスから、テキストボックスひとつとコマンドボタン二つを作成します(場所、サイズは任意)。
UserForm1、TextBox1、CommandButton1、CommandButton2の4つが作成されたので、プロパティウィンドウにてオブジェクト名とCaptionをそれぞれ変更します(ここでは順に入力フォーム、TextBox、OK、Cancelとしておきます)。また、TextBoxのMultilineをTrueに、ScrollBarsを3にしておきます。

メニューバーから表示→コードを選択して、以下のコードを記述します。

Option Explicit
Private Text0 As String

Private Sub Cancel_Click()
Unload Me
End Sub

Private Sub OK_Click()
ActiveCell.Value = TextBox.Value
Unload Me
End Sub

Private Sub UserForm_Initialize()
Text0 = ActiveCell.Value
TextBox.Value = Text0
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveCell.Offset(1).Select
End Sub

たぶんちゃんと動くと思うのですが・・・。分からない、動かないとかありましたら補足願います。ユーザーフォームについては検索すればいろいろヒットすると思います。

投稿日時 - 2006-11-27 10:13:59

補足

有難う御座います。
上記の操作やってみましたが今までやった事のない操作なので
これで有っているのかすらよくわかりません。
ツールボックスから、テキストボックスひとつとコマンドボタン二つを作成します(場所、サイズは任意)と有りますがこれを作成する場所はユーザーフォーム上に作成するのでしょうか?

そして全てのコード等の記述が終わった段階で、最後はどのように終了するのでしょうか?ファイル→シートの上書き保存でしょうか?
一応そのようにしてみましたがエクセル上に何も変化はないようでした。
なにがどう間違っているのでしょうか

投稿日時 - 2006-11-27 11:20:23

お礼

すみません。言われたとおりにやったところ、コンパイルエラー 変数が定義されていませんとでてしまうようになってしまいました。どうしたらいいでしょう?

投稿日時 - 2006-11-27 11:35:41

ANo.15

オートフィルタは例えば特定の顧客名のみの行を抽出して表示してくれます。この機能によりアポシートにはアポの都度行を追加できます。
オートフィルターのかけ方は、参照URLの入門初級編の初級11を見てください

アポシートは顧客シートの左端に日付とアポ内容を追加したものです。
参照式は顧客名をキーにして顧客情報を表示するためです。
D2=IF($C2="","",VLOOKUP($C2,顧客シート!$A$2:$D$51,2,1))
E2=IF($C2="","",VLOOKUP($C2,顧客シート!$A$2:$D$51,3,1))
F2=IF($C2="","",VLOOKUP($C2,顧客シート!$A$2:$D$51,4,1))
上記式をご覧下さい一箇所だけ変化しています 列番号です。
この参照式を有効にするためには、顧客名が昇順に並んでいなければなりません。
分類アイコンはツールバー上にありますね、顧客名の一つをクリックしてから昇順をクリック

日付は Ctrl+; で今日の日付が入力できます
顧客名は入力セルで右クリックからリストから選択で少しは楽?

さて本来の目的ですが、ディスクのクリーンアップはご存知ですね、RAMにもこれが必要です。
「メモリーの掃除屋さん」がしてくれます
http://www.vector.co.jp/soft/win95/hardware/se190988.html
自動解凍ですのでクリックで答えていくだけでデスクトップにセットしてくれます。メモリーの掃除屋さんのフォルダー内のMemClCmd.exe実行してこのままデータ入力を続けてください。

尚オートフィルタ機能は空白行,空白列があった時はその場所でコントロールは切れます。

参考URL:http://www.kenzo30.com/excel_kiso.htm

投稿日時 - 2006-11-27 08:37:41

補足

ごめんなさい
ちょっと私にはむずかしすぎます。
ただし、上記のオートフィルタに関して言うと、
ひとつの顧客に対して複数の行を用意するための物ですよね?
私としては、あくまで1顧客につき一行で完結させることを前提としています。
ですので、追加の記述は同一セルの中に改行して追記して行く形となります。これは譲れない部分です。
そしてそのセルがブラウザの画面いっぱいになったら右となりの列のセルに続きの内容を記入していくと形です。

そのやり方で、パフォーマンスが腹話術時差のようにならない方法を
探しています。

投稿日時 - 2006-11-27 14:32:18

ANo.14

目的が分かりました。
これならExcelのデータ処理機能を利用すると
任意顧客の抽出 分類、日付別抽出分類が可能となりますし

詳細は次の通りです

テレアポ進捗管理
ワークシートを顧客情報を登録しておく顧客シートと
日常のアポを登録するアポシートの2つ用意します。
何れのシートも1行目は項目名とし、2行目以降がデータ行

・顧客シート
A1:企業名 B1:住所 C1:電話番号 D1:担当者名
仮に顧客数が50とすると、2行目から51行目までがデータ行になります。

・アポシート :顧客シートの項目に日付とアポ内容の2項目を加えて
A1:日付 B1:アポ内容 C1:企業名 D1住所 E1:電話番号 F1:担当者名
セルA1~C1は入力項目ですが、セルD1~F1顧客シートを参照します。
セルD2~F2の参照式は次の通りです。
D2=IF($C2="","",VLOOKUP($C2,顧客シート!$A$2:$D$51,2,1))
E2=IF($C2="","",VLOOKUP($C2,顧客シート!$A$2:$D$51,3,1))
F2=IF($C2="","",VLOOKUP($C2,顧客シート!$A$2:$D$51,4,1))
これらの参照式をD3から適当な行(例えばD1500)までコピー

アポシートに数件情報が入った時点でオートフィルタをかけます。
顧客シートは追加登録の都度 顧客名の昇順に分類してください
追記:データ機能は空白行または空白列が入ると機能しません(空白セルは可)

投稿日時 - 2006-11-26 20:03:17

補足

アポシートに数件情報が入った時点でオートフィルタをかけます。
・・・オートフィルタって何ですか?アポシートに情報が入った段階でその処理をすることで顧客シートとどうなるんですか?

顧客シートは追加登録の都度 顧客名の昇順に分類してください
・・・顧客シートには、顧客が増える都度A~Dまで手入力するとしてアポシートにも手入力しなければなりませんよね?A,B,Cは。理由はD~Fと違って顧客シートを参照していませんし。

ちなみに本来の目的はアポ内容をセルに記入するときにパフォーマンス低下することの改善方法を探しているのですが、上記のD~Fの顧客シートを参照し、アポシートには従来どおり、ひとつのセルに沢山の文字を入力していくという事に変わりわないと思いますがパフォーマンスが改善されるという事でしょうか?

投稿日時 - 2006-11-27 00:04:23

ANo.13

では、セルをダブルクリックしたときにフォームを表示させて、その中のテキストボックスで編集するというのはいかがでしょう?
改行がctrl+Enterになってしまいますが・・・。

投稿日時 - 2006-11-26 14:08:27

補足

セルをダブルクリックしたときにフォームを表示させて、その中のテキストボックスで編集するというのはいかがでしょう?・・・・それは良いですね。どうやってそれを実現するんですか?方法を教えていただけると試してみます。よろしくお願いします

投稿日時 - 2006-11-27 00:13:39

ANo.12

No.8&9です。補足拝見いたしました。

6列目以降の説明がありませんが、もし空白だとすると、自分なら日付ごとに列を分けて記入するような気がします(読みやすさを考えると行列を入れ替えるかも)。きっと6列目以降も項目が続いているのだと推測します。

もし6列目に(末尾の列でもよいですが)追記用の列を挿入することができるのでしたら、以下の方法でいかがでしょうか?

・シートのタブを右クリックしてコードの表示をクリック
・以下のコードを入力

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
If .Column = 6 Then
.Offset(, -1).Value = .Offset(, -1).Value & Chr(10) & .Value
.Clear
End If
End With
Application.EnableEvents = True
End Sub

6列目の内容を変更したとき、隣のセルにセル内改行ととともに追記し、入力セルの内容を消去します。

投稿日時 - 2006-11-25 14:21:24

補足

有難う御座います。
おっしゃるとおり5列目というのは判りやすく伝えたものです。
実際に履歴を記入していく列は15列目くらいで16列目以降も
使用しており全部で使っている列は30列くらいあります。
ですので、次の列を利用したり、末尾の列を利用したりというのは
現実的に運用上厳しいですね。
現在、ひとつの列のひとつのセルに(セルの高さがブラウザの画面の
上下幅いっぱいになったときのために、履歴記入用の列を2行にしています。15列目と16列目です。15列目のセルがいっぱいになったら16列目に移って記入しています。

投稿日時 - 2006-11-26 12:37:32

ANo.11

djdjsato様何度もお邪魔してすみません。

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

投稿日時 - 2006-11-24 21:57:09

ANo.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

投稿日時 - 2006-11-24 21:19:34

ANo.9

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

また、マクロの使用は可能でしょうか?

投稿日時 - 2006-11-24 17:40:20

補足

テレアポの進捗管理シートとしてエクセルを使うにあたり、まず、テレアポをするリストを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の起動・終了は当然行っています。
すると、日に日にその列のその文字が沢山記入されているセルの
入力時のパフォーマンスが低下し、腹話術時差のようになります。
しかし、同じ列でも、まだ文字の入力されていないセルに記入をするときは、その症状はみられません。

ちなみに、そのエクセルにはマクロは組んであります。

投稿日時 - 2006-11-25 00:38:46

ANo.8

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

投稿日時 - 2006-11-24 11:01:41

補足

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

投稿日時 - 2006-11-24 14:10:14

ANo.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

投稿日時 - 2006-11-24 08:29:44

補足

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

投稿日時 - 2006-11-24 14:11:42

ANo.6

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

投稿日時 - 2006-11-23 09:44:43

補足

有難う御座います。
セルの中には、式は含まれていません。
テキストをべたで入力しているのみです。
ひとつのセルに入力する文字数は平均で500文字くらい。
多くて800~1000文字の間です。
その文字入力をする際に、毎日同じセルに、100文字くらい追加して
行くので、10日間くらいで400文字くらいになります。
20日位で800文字くらいです。

ちなみに入力するときに、別の未入力のセルに文字入力をする際は
パフォーマンス低下はありません。
すでにひとつのセルに文字が500文字以上あり、それに追加で文字記入する際にパフォーマンスが劣化します。
私としては、そのセルに文字を追加入力する際に、パフォーマンス劣化しないようにしたいのです。
追加で入力するのを別のセルに一旦入力し、それをカット&ペーストで本来入力しようとしたセルに貼り付けることは出来ますが作業効率が悪いのでそれはしたくありません。

ちなみに、そのひとつのセルに沢山の文字を入力していくのは、BOOK の中で、一列だけです。その列に文字が集中しています。

投稿日時 - 2006-11-23 11:04:11

ANo.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

投稿日時 - 2006-11-22 21:47:53

補足

有難う御座います。
セルの中には、式は含まれていません。
テキストをべたで入力しているのみです。
ひとつのセルに入力する文字数は平均で500文字くらい。
多くて800~1000文字の間です。
その文字入力をする際に、毎日同じセルに、100文字くらい追加して
行くので、10日間くらいで400文字くらいになります。
20日位で800文字くらいです。

ちなみに入力するときに、別の未入力のセルに文字入力をする際は
パフォーマンス低下はありません。
すでにひとつのセルに文字が500文字以上あり、それに追加で文字記入する際にパフォーマンスが劣化します。
私としては、そのセルに文字を追加入力する際に、パフォーマンス劣化しないようにしたいのです。
追加で入力するのを別のセルに一旦入力し、それをカット&ペーストで本来入力しようとしたセルに貼り付けることは出来ますが作業効率が悪いのでそれはしたくありません。

ちなみに、そのひとつのセルに沢山の文字を入力していくのは、BOOK の中で、一列だけです。その列に文字が集中しています。
もし試していただけるのであれば、ひとつのセルに文字を800字ほど全角入力してみてください。
そしてそのセルを、同じ列で50行ほどコピーしてみてください。
その状態でひとつのセルを選択し、801文字目から追加で文字を追加入力しようとしてみてください。
きっと私の言っている意味が伝わると思います。

投稿日時 - 2006-11-23 11:11:08

ANo.4

皆様の指摘の通りExcel向きではありませんが

どのような目的で長い文字列が必要なのかわかりませんので、見当外れかも知れませんが、
邪道だと思いますが、次の2つを提案します。

1.この部分をワードパッドないしワードで作成してハイパーリンクを利用
‥セル右クリックでサブメニューの中から入る

2.コメント挿入
‥これもセルの右クリックから入る、
‥コメントが作成されたら、再度右クリックでコメント表示の制御が出来る

投稿日時 - 2006-11-21 19:59:57

補足

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

投稿日時 - 2006-11-22 00:18:04

ANo.3

1番です。

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

投稿日時 - 2006-11-21 16:25:51

補足

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

投稿日時 - 2006-11-22 00:20:30

ANo.2

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

投稿日時 - 2006-11-20 23:11:07

補足

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

投稿日時 - 2006-11-24 16:50:40

ANo.1

はじめまして

>多いといってもそこまでではありません。せいぜい500文字から1000文字程度です。
Excelは基本的に表計算ソフトですから、充分多いと思います。
しかも、1024文字を超えると、それ以上は入力できますが、表示されなくなります。
参考
http://support.microsoft.com/kb/211580/ja


>同じセルの中で何度も改行はしますが。
これを改行ではなく、下のセルにしてみてはいかがでしょうか?

続けなければならない理由があるのでしたら、それは関数で何とかなるものです。
例えば
=A1&A2&A3
などという具合に、つなげることができます。

投稿日時 - 2006-11-20 20:54:05

補足

有難う御座います。
どうしてもひとつのセルに入れる必要があります。
では、500文字以上1000文字以下の前提でお願いします。
その前提で、遅くならない方法を教えていただけますでしょうか?
よろしくお願いします。

投稿日時 - 2006-11-20 21:48:26

あなたにオススメの質問