Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3830 / 13646 ツリー ←次へ | 前へ→

【59974】異様に遅いのです・・ k 09/1/22(木) 3:21 質問[未読]
【59979】Re:異様に遅いのです・・ Jaka 09/1/22(木) 11:36 発言[未読]

【59974】異様に遅いのです・・
質問  k  - 09/1/22(木) 3:21 -

引用なし
パスワード
   初めての投稿となります。皆様、よろしくお願いいたします。

さて単刀直入に申し上げると、以下の命令文を実行すると、手動で実行する場合に比べ、数倍も時間がかかってしまうのです...

    Workbooks.Open Filename:="A.csv"
    
    Windows("B.xls").Activate
    Sheets("P").Select
    ActiveSheet.UsedRange.Select
    Selection.ClearContents
    
    Windows("A.csv").Activate
    Sheets("A").Select
    ActiveSheet.UsedRange.Copy

    Windows("B.xls").Activate
    Sheets("P").Select
    Range("a1").Select
    ActiveSheet.Paste

CSVファイルは、基本で10Mほどあります。
手動だと上記の作業をするのに十数秒ですが、マクロだと数分かかります。

なぜでしょうか・・・?

【59979】Re:異様に遅いのです・・
発言  Jaka  - 09/1/22(木) 11:36 -

引用なし
パスワード
   >    Workbooks.Open Filename:="A.csv"
CSVファイルをWorkbooks.Openで開くと極端に遅いです。
拡張子を.Txtにしてテキストファイルとして開くとかなり速くなります。
また、ファイル名だけよりフルパスにした方が良いです。
ファイル名だけだとルートディレクトリーだか細かい言い方は良く解りませんが、
ルートディレクトリーにあるか、カレントディレクトリーがそこに移動してないとエラーになると思います。

他、
データ → 外部データの取り込み で取り込むとか、
CSVファイル、テキストファイルなどで検索すると、
色々な方法が見つかると思います。

3830 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free