Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Splittrn vbTab

Splittrn vbTab
30.11.2020 14:30:12
Gabriel
Hallo Liebe VBA-Experten,
ich habe ein kleines Problem, was ich jedoch seit langem einfach nicht lösen konnte, deswegen wende ich mich an euch. Es geht um das splitten eines importierten Textes mit dem delimiter vbTab. Leider funktioniert es bei mir nicht und wollte fragen, ob jemand eventuell mir kurz helfen kann. :)
Danke im Vor raus!
Gabriel

Sub hochladen()
Dim QuellDatei As Variant
Dim Zeile As Integer
Dim Inhalt As String
Dim Informationen() As String
Dim i As Integer
Dim y As Integer
Zeile = 3
Set fs = CreateObject("Scripting.FileSystemObject")
ThisWorkbook.Worksheets("Tabelle1").Activate
QuellDatei = Application.GetSaveAsFilename()
If QuellDatei = False Then
MsgBox "Der Benutzer hat abgebrochen.", vbInformation
Exit Sub
Else
MsgBox "Folgende Datei wurde ausgewählt:" & vbCrLf & varDatei
End If
Open QuellDatei For Input As #1
Do While Not EOF(1)
Line Input #1, Inhalt
Informationen = Split(Inhalt, vbTab)
Set f = fs.GetFile("C:\Users\gabi\Desktop\merck\speicher.txt")
Set b = f.OpenAsTextStream(1, -2) 'TristateUseDefault  -2  Öffnet die Datei unter  _
Verwendung der Systemvorgabe // TristateTrue    -1  Öffnet die Datei als Unicode //  _
TristateFalse   0   Öffnet die Datei als ASCII.
y = b.ReadLine
b.Close
Dim t As Integer
t = CInt(y)
For i = 0 To UBound(Informationen)
Worksheets(1).Cells(Zeile, t) = Inhalt
Next
Zeile = Zeile + 1
Loop
Close #1
t = t + 1
Set a = fs.CreateTextFile("C:\Users\gabi\Desktop\merck\speicher.txt", True)
a.WriteLine (t)
a.Close
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Splittrn vbTab
30.11.2020 15:06:49
volti
Hallo Gabriel,
wenn Du eine eingelesene Zeile mit vbTab splittest, werden die Teilwerte in das Array Informationen eingetragen.
Um diese jetzt im Worksheet auszugeben, musst Du auch das Array ansprechen, sonst wird ja immer die ganze Zeile noch dazu an die gleiche Stelle ins Worksheet geschrieben...
Vorschlags-Code:
Informationen = Split(Inhalt, vbTab)
For i = 0 To UBound(Informationen)
    Worksheets(1).Cells(Zeile, t + i) = Informationen(i)
Next i
_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Splittrn vbTab
30.11.2020 16:35:40
Gabriel
Danke für die schnelle Antwort, dass mit dem Array wusste ich nicht das hat mir sehr geholfen danke dafür. Also angenommen das ist mein Textdokument mit dem Inhalt, würde das Array dann so aussehen?
Txt:
hallo hallo2
hallo3 hallo4
Array:
hallo
hallo2
hallo3
hallo4
und um es jetzt ins Excel einzupflegen muss ich eine For-Schleife schreiben mit:
Informationen = Split(Inhalt, vbTab)
For i = 0 To UBound(Informationen)
t=1
Worksheets(1).Cells(Zeile, t + i) = Informationen(i)
Next i
gruß gabriel
Anzeige
AW: Splittrn vbTab
30.11.2020 17:21:10
volti
Hallo Gabriel,
das Array enthält nicht den gesamten Inhalt Deines Dokuments, sondern immer nur den Inhalt der gerade eingelesenen Textzeile. Die Anzahl der Array-Mitglieder kann schwanken, je nachdem wieviele vbTab in der Zeile sind.
Nach Einlesen der ersten Zeile enthält das Array also:
Informationen(0) = hallo
Informationen(1) = hallo2
Zum Übertagen der aktuelle Zeile auf das Excelblatt kann wie schon beschrieben eine For-Scheife verwendet werden:
Informationen = Split(Inhalt, vbTab)
For i = 0 To UBound(Informationen)
    Worksheets(1).Cells(Zeile, t + i) = Informationen(i)
Next i
oder Du kannst es alternativ auch so ausgeben:
Informationen = Split(Inhalt, vbTab)
Worksheets(1).Cells(Zeile, t).Resize(1, UBound(Informationen) + 1) = Informationen
_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Splittrn vbTab
02.12.2020 12:22:13
Gabriel
Hallo Karl-Heinz,
Viele vielen Dank für die schöne Erklärung es hat geklappt. Ich danke dir vielmaaaals!!!!
Gruß
Gabriel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige