Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten in Textboxes aufteilen

Daten in Textboxes aufteilen
14.10.2013 09:48:43
Wolfgang
Hallo,
den nachfolgenden Code habe ich per Makrorekorder aufgezeichnet. Er dient generell dem Import von Daten aus einer Textdatei, die sich a.d. Desktop befindet. Ich benötige dabei aber nicht alle Daten aus der Textdatei. Wie kann erreicht werden, dass bestimmte Daten jeweils in ein UF mit 10 Textboxes importiert werden können.
Wenn ich das richtig sehe ist wohl .TextFileCoumnDataTypes = Array die Spaltenfolge. So dass ich gerne in Textbox 1 den Text aus der zweiten 1, in Textbox 2 den Text aus der vierten 1 usw. bekommen würde. Wie kann ich da vorgehen?
Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
Sub Makro1()
' Makro1 Makro
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\MeierK\Desktop\X.txt", Destination:=Range( _
"$A$1"))
.Name = "X"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  _
1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Daten in Textboxes aufteilen
14.10.2013 12:52:48
JoWE
Hallo Wolfgang,
lies dir die Onlinehilfe zum Stichwort "TextFileColumnDataTypes" durch,
das steht die Antwort drin (Konstante 3, xlSkipColumn = überspringen).
Gruß
Jochen

AW: Daten in Textboxes aufteilen
14.10.2013 14:06:41
Wolfgang
Hallo Jochen,
danke für Deine Meldung. Wie erreiche ich allerdings, dass ich, wenn das Konstante heißt, z.B. die Konstante 2 in Textbox1 erhalte (usw.) - wie könnte der Teilcode in VBA hierfür aussehen? - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang

Anzeige
AW: Daten in Textboxes aufteilen
14.10.2013 15:24:06
JoWE
Hallo Wolfgang,
versuchs mal mit diesem Code im Userform. Damit wird der Inhalt der Textdatei in die Zeile der Tabelle1 eingelesen und zwar in jede Spalte immer der Wert, welcher vor dem Delimter steht.
Die Ziffer "9" im Code gibt den zu überspringenden Wert vor. Dann werden in der Userform die TB'n 1 bis 10 mit den Werten der Tabelle1 aus Zeile 1 Spalten A bis J gefüllt. Anschließend wird die Userform angezeigt.
Private Sub UserForm_Initialize()
Dim tbl1 As Worksheet
Set tbl1 = ThisWorkbook.Sheets("Tabelle1")
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Ddaten\X.txt", Destination:=Range( _
"$A$1"))
.Name = "X"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = _
Array(1, 9, 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
For i = 1 To 10
UserForm1.Controls("Textbox" & i).Value = Cells(1, i)
Next
UserForm1.Show
End Sub
Gruß
Jochen

Anzeige
AW: Daten in Textboxes aufteilen
15.10.2013 14:07:24
Wolfgang
Hallo Jochen,
recht herzlichen Dank für Deine schnelle Rückmeldung und sorry, dass ich mich jetzt erst melde. Ich hatte versucht, Deinen Code anzupassen bzw. einzubauen. Das ist mir nun auch soweit gelungen. Es erscheint nun aber, wenn ich den UF mit unload Me beende, eine Meldung mit Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt. Hättest Du da noch eine Idee? Bei Debug zeigt der Editor nichts an, so dass ich die Stelle, an der VB den vermeintlichen Fehler hat, nicht anzeigt.
Danke und Gruß
Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige