| 
    
     |  | ▼ノリ さん: >はじめまして。
 >
 >以下のようにテキストファイルの内容をワークシート内に写すマクロを作成しました。
 >
 >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のイベントを設定している
 
 
 |  |