2017-03-19 5 views
0

私は831 MBのテキストファイルからデータを読みたいと思います。残念ながら、私はを取得しました。実行時エラー14.文字列スペースの外に。コードを変更するにはどうすればよいですか?私はノートブック(W10 64ビット、24 GB RAM、CPU 7500U、Excel 2016)のアレイにデータ全体を読み込むことが可能であるべきだと思います。831 MBのテキストファイルを一度にアレイに読み込む方法は?

The Global Drifter Program(buoydata_15001_jun16.dat)からデータを取得できます。セミコロンではなく、スペースで区切られた最初の7列のデータを処理する必要があります。

Sub DelimitedTextFileToArray() 
'PURPOSE: Load an Array variable with data from a delimited text file 
'SOURCE: www.TheSpreadsheetGuru.com 

Dim Delimiter As String 
Dim TextFile As Integer 
Dim FilePath As String 
Dim FileContent As String 
Dim LineArray() As String 
Dim DataArray() As String 
Dim TempArray() As String 
Dim rw As Long, col As Long 

'Inputs 
    Delimiter = ";" 
    FilePath = "C:\buoydata_15001_jun16.txt" 
    rw = 0 

'Open the text file in a Read State 
    TextFile = FreeFile 
    Open FilePath For Input As TextFile 

'Store file content inside a variable 
    FileContent = Input(LOF(TextFile), TextFile) 

'Close Text File 
    Close TextFile 

'Separate Out lines of data 
    LineArray() = Split(FileContent, vbCrLf) 

'Read Data into an Array Variable 
    For x = LBound(LineArray) To UBound(LineArray) 
    If Len(Trim(LineArray(x))) <> 0 Then 
     'Split up line of text by delimiter 
     TempArray = Split(LineArray(x), Delimiter) 

     'Determine how many columns are needed 
     col = UBound(TempArray) 

     'Re-Adjust Array boundaries 
     ReDim Preserve DataArray(col, rw) 

     'Load line of data into Array variable 
     For y = LBound(TempArray) To UBound(TempArray) 
      DataArray(y, rw) = TempArray(y) 
     Next y 
    End If 

    'Next line 
     rw = rw + 1 

    Next x 

End Sub 
+0

どのバージョンのExcelですか? – Joe

+0

そして、それを読んだり、スプリットをするのに間違いがありますか? – Joe

+2

あなたのコードを読んでから、あなたが一度にすべてを読んでみたい理由を見落としました。 1行ずつ処理しているので、1行ずつ読む必要はありませんか? –

答えて

0

Excelは、ほぼ1GBのサイズのファイルを処理するとは思いません。 R、Python、SQL Server、さらにはMS Accessなどの大規模なデータセット用に設計されたツールを使用しないでください。しかし、さらに大きなデータセットをインポートすると、Accessでさえ非常に素早く断片化されるため、Accessではこれが枯渇する可能性があります。私はあなたがそれを試して何が起こるか見ることができると思います!

関連する問題