エクセルシートのクリア


XLS  2005-04-25 16:56:26  No: 121276  IP: [192.*.*.*]

VBよりエクセルのシートを指定してそのシートの中の全データを
クリア("")したいのですが、
どのようにしたら一番高速なのでしょうか?
今はシートを選択して全体を選択してクリアしています。
しかし遅い・・・
教えて下さい。

編集 削除
いな  2005-04-25 17:02:33  No: 121277  IP: [192.*.*.*]

エクセルシートを削除して再作成はだめなの?

編集 削除
特攻隊長まるるう  2005-04-25 17:27:31  No: 121278  IP: [192.*.*.*]

実行環境(PCのスペック)や
セルを幾つ選択してて、
実際に時間を計測したら何秒なのか、
を書かないと…。光の速さを超えないと
満足いかないのであれば、はじめから
無理な相談ですから。

Range.Clear が一番の正攻法。
後はシートを非表示にしたり…自動計算や
グラフの再描画を少なくしたり…クリア処理とは
違う部分で2次的な処理の調整になると思います。

編集 削除
特攻隊長まるるう  2005-04-25 17:39:56  No: 121279  IP: [192.*.*.*]

あ、特に範囲指定無く、シート上の全てのセルなら
     Cells.Clear
でできます。シート…列幅とか残さない方がいいなら
いなさんの方法もありだと思いますが…。

編集 削除
いな  2005-04-25 18:15:00  No: 121280  IP: [192.*.*.*]

実際、データのクリアってどこまでやるんだろ・・・。
スレヌシの回答まちだね。

編集 削除
id_rsa+  2005-04-25 19:40:02  No: 121281  IP: [192.*.*.*]

>シートを指定してそのシートの中の全データ
なので、
Sheets("シート名").Cells.Delete
かな?

編集 削除
特攻隊長まるるう  2005-04-26 09:52:14  No: 121282  IP: [192.*.*.*]

セルに入ってる値だけ…って場合は
配列で値を一括して入れるサンプルを既に載せてます。
過去ログ検索『Resize』でどうぞ。

しかし…いずれの方法でもセル10000くらい対象に
やって0.5秒掛からない…(CPU1.6GHz)

編集 削除