Excel VBA質問箱 IV

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

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


30230 / 76732 ←次へ | 前へ→

【51769】Re:テキストファイルを高速で読み込む
発言  ハチ  - 07/10/4(木) 9:29 -

引用なし
パスワード
   ▼ノリ さん:
>はじめまして。
>
>以下のようにテキストファイルの内容をワークシート内に写すマクロを作成しました。
>
>Option Explicit
>Sub TextRead()
>  Const name = "C:\test.log"
>  Dim intFF As Integer      ' FreeFile値
>  Dim r As Long        
>  Dim strREC As String 
>  
>  intFF = FreeFile
> 
>  Open name For Input As #intFF
>  r = 1
>  
>  Do Until EOF(intFF)
>    
>    Line Input #intFF, strREC 
>    Cells(r, 1).Value = strREC
>    r = r + 1 
>  Loop
> 
>  Close #intFF
>End Sub
>
>
>このコードで実行はできるのですが、いかんせん読み込むファイルが
>行にすると約3000行、600KB近くあるので
>仕事場で使用しているノートPCがあまり高スペックとはいえない為、
>読み込む速度は1度に約5〜6分で最悪フリーズしてしまうこともあります。
>
>画面表示をさせないコードを入れてみたりしたのですが
>実行速度はあまり変わらず。
>
>
>もし、もっと高速でCPUに負担の少ないコードが作れるのであれば
>是非教えていただきたいです。
>
>条件としては、
>・テキストファイル内の1行ずつを読み、シート内の1つずつのセルに格納する。
>
>ことのみです。
>
>
>無知な故、お恥ずかしい限りではございますが
>ご教授の程よろしくお願いいたします。

3000行程度で、5,6分もかかるというのは遅すぎですね・・・
ReadAllで読み込んで一気に書き出すと少し早くなるかもしれませんが、
PCのスペックが低いと 逆に遅くなるかも。

↓のあたりはチェックしてみましたか?

・関数の再計算がされている
・Worksheetのイベントを設定している
1 hits

【51766】テキストファイルを高速で読み込む ノリ 07/10/4(木) 7:20 質問
【51768】Re:テキストファイルを高速で読み込む ちん 07/10/4(木) 7:55 発言
【51769】Re:テキストファイルを高速で読み込む ハチ 07/10/4(木) 9:29 発言
【51800】Re:テキストファイルを高速で読み込む ノリ 07/10/5(金) 8:07 お礼
【51899】Re:テキストファイルを高速で読み込む Jaka 07/10/10(水) 9:31 発言
【51906】Re:テキストファイルを高速で読み込む Hirofumi 07/10/10(水) 19:09 回答
【51909】Re:テキストファイルを高速で読み込む Hirofumi 07/10/10(水) 20:43 発言
【51910】Re:テキストファイルを高速で読み込む Hirofumi 07/10/10(水) 20:52 発言

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