Ich konvertiere eine TXT-Datei direkt in ein Array in Excel VBA. Das Standardtrennzeichen ist ein "," (Komma) und ich muss es in "vblf" ändern. Ich habe Probleme herauszufinden, wie ich das mit dem Code, den ich heute habe, machen kann.Konvertieren von TXT-Datei direkt in ein Array mit benutzerdefinierten Trennzeichen
Bitte helfen
Const strFileName As String = [file]
Dim CONFIGTXT(1 To 13000) As String
Dim intFileNum As Integer
Dim intCount As Integer
Dim strRecordData As String
intFileNum = FreeFile
intCount = 1
Open strFileName For Input As #intFileNum
Do Until EOF(intFileNum) Or intCount > 13000
Input #intFileNum, strRecordData
CONFIGTXT(intCount) = strRecordData
intCount = intCount + 1
Loop
Close #intFileNum
Range("Q2:Q" & UBound(CONFIGTXT) + 1) = WorksheetFunction.Transpose(CONFIGTXT)
Sie versuchen gerade, ein Array von Strings in eine 'String'-Variable zu platzieren. Das wird nicht funktionieren. Welche Form wollten Sie 'CONFIGTXT' haben? (Am Ende Ihres Codes scheint es, als wollten Sie ihn in eine einzelne Spalte einfügen, also klingt es so, als wollten Sie die Daten nicht wirklich "teilen".) – YowE3K
Ich habe versehentlich meinen experimentellen Code gepostet. Bitte beachten Sie die bearbeitete Version. Ich bin mir nicht sicher, ob Split die richtige Funktion ist. Was passiert, ist, dass das Array jedes Mal, wenn es auf ein Komma in der Zeichenfolge stößt, ein neues Element erstellt, statt für jede Zeile in der TXT-Datei ein neues Array-Element. –
"Was passiert, wenn das Array jedes Mal ein neues Element erstellt über ein Komma in der Zeichenfolge statt ein neues Array-Element für jede Zeile in der TXT-Datei "- Beschreibt das, was Sie ** wollen ** - dh Sie wollen einen neuen Eintrag im Array für jedes Element, anstatt Jeder Eintrag im Array repräsentiert einen Datensatz? Wenn Sie also zwei Datensätze haben, sagen beide "abc/def" '(wobei'/'eigentlich ein Zeilenvorschub ist), wollen Sie ein' 1 To 4' Array erstellen - Sie wollen kein '1 To 2, 1 Zu 2' Array? – YowE3K