Ich habe eine CSV, die in folgendem Format ist:VBA - Split CSV-Datei in mehrdimensionales Array
[TestHeader] FIELDS, "Sprache", "LC_NUMERIC", "Zellennamen", "Testtype", REPORTER " TITLE, STARTDATE, STARTTIME, ENDDATE, DATENDYPE, Text (80), Text (80), Text (64), Text (80) , "Text (80)", "Text (80)", "Text (12)", "Text (20)", "Text (12)", "Text (20)"
Ich möchte Legen Sie diese Daten in ein mehrdimensionales Array, das als ob es in einem Blatt war. Wo die Zellen leer sind, wäre es auch in dem Array leer.
Ich versuche, das folgende zu verwenden, aber es legt nur die Daten in ein 1D-Array, das für das, was ich brauche, nicht geeignet ist.
Dim Delimiter As String
Dim TextFile As Integer
Dim FilePath As String
Dim FileContent As String
Dim LineArray() As String
Dim DataArray() As String
'Inputs
Delimiter = ","
FilePath = emiFilePath
'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, Delimiter, -1, vbTextCompare)
'Read Data into an Array Variable
'Re-Adjust Array boundaries
ReDim Preserve DataArray(UBound(LineArray))
'
'Load line of data into Array variable
For y = LBound(LineArray) To UBound(LineArray)
DataArray(y) = Replace(LineArray(y), Chr(34), vbNullString)
Next y
einen bestimmten Grund Arrays zu benutzen? Haben Sie "ADO" zum Lesen von CSVs in Betracht gezogen? –
Was ist ein ADO? Ich benutze Arrays, weil ich sie sehr gut kenne. – peetman
@PankajJaju bezieht sich auf eine Methode zum Lesen von CSV-Dateien. Es gibt mehr als ein Dutzend Beiträge auf dieser Seite, die zeigen, worauf er sich bezieht. Suchen Sie einfach nach ihnen: http://stackoverflow.com/search?q=excel+vba+ado+csv Wenn Sie jedoch bei Ihrer Lösung bleiben möchten (was ich unterstützen würde), würde ich nicht die gesamte Datei lesen in eine Zeichenfolge, sondern Zeile für Zeile wie hier gezeigt (akzeptierte Lösung): http://stackoverflow.com/questions/11185191/opening-csv-file-via-ado-connection-column-limitation-to-255 -oder- Just-Use-Ano – Ralph