ich würde gerne aus einer Textdatei bestimmte Daten direkt in das jeweils aktive Tabellenblatt importieren. Unter Recherche habe ich untenstehenden Code entdeckt, der in der Grundstruktur evtl. schon passen könnte (Habe den Import bereits damit realisiert). Ich würde allerdings gar nicht die Filterfunktion benötigen und somit auch keine Listbox o.ä. - Es sollten alle vorhandenen Datensätze importiert werden. Allerdings würde ich gerne vorbestimmen, dass z.B. die PLZ mit der Überschrift "HAUS_AS_PLZ", "HAUS_AS_Wohnort" und "HAUS_AS_Ortsteil" in Spalte F eingefügt werden und z.B. die Kundennummer "Kunde_KD-Nr." z.B. in Spalte I - alles ab Zeile 3, ohne diese Überschriften dabei noch zu kopieren, erscheinen. Es gibt noch mehr Überschriften, die ich dann, glaube ich, noch weiter einbauen könnte. - Wäre soetwas übehaupt realisierbar. In einer ähnlichen Mappe wähle ich den Umweg über Hilfstabellen und Hin- und Herkopieren der Spalten. Danke schon jetzt für die Rückmeldungen.
Herzliche Grüße
Wolfgang
Public Function DatenImport()
Dim bolDopp As Boolean
Dim strPfad As String, strhelp As String
Dim arrHelp() As String
Dim lngI As Long, lngN As Long, lngSpalte As Long
strPfad = "C:\Dokumente und Einstellungen\Wolfgang\Desktop\Ergebnis.txt"
' Textdatei in einem Rutsch einlesen und dann per Split aufteilen
Open strPfad For Binary As #1
strhelp = Space(LOF(1))
Get #1, , strhelp
arrInput = Split(strhelp, vbLf)
Close #1
MsgBox UBound(arrInput)
arrHelp = Split(arrInput(0), "|")
For lngI = 0 To UBound(arrHelp)
If arrHelp(lngI) = "HAUS_AS_PLZ" Then
lngSpalte = lngI
Exit For
End If
Next lngI
Erase arrHelp
Me.ListBox1.Clear
For lngI = 1 To UBound(arrInput)
bolDopp = False
arrHelp = Split(arrInput(lngI), "|")
If UBound(arrHelp) >= 0 Then
For lngN = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.List(lngN) = arrHelp(lngSpalte) Then
bolDopp = True
Exit For
End If
Next lngN
If bolDopp = False Then
Me.ListBox1.AddItem arrHelp(lngSpalte)
End If
bolDopp = False
End If
Erase arrHelp
Next lngI
Me.ListBox1.ListIndex = 0
End Function