Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

Formular mit Suche und Filter

Formular mit Suche und Filter
25.01.2013 09:46:53
Michael
Hallo liebe Gemeinde,
ich hoffe Ihr könnt mir bei meinem Problem helfen.
Ausgangsdaten:
Tabelle 1 mit Namen (die Namen sind eindeutig)
Tabelle 2 mit Namen, die Selben wie in Tabelle 1 mit Hinweisen. Für einen Namen kann es mehrere Reihen geben. Oder es gibt keinen Eintrag, also "kein Datensatz gefunden".
Ziel:
Ich habe ein Formular, in dem eine Textbox die Liste der Namen aus Tabelle 1 auflistet (funkioniert). Bei Auswahl wird die eingebundene Spalte als Variable gespeichert (boundcolumn) - funktioniert auch.
Wie kann ich nun in eineren weiteren Textbox alle Treffer aus der Tabelle 2, die der Variablen entsprechen darstellen?
Bitte um Unterstützung.
Vielen Dank
Michale

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

Betreff
Datum
Anwender
Anzeige
AW: Formular mit Suche und Filter
25.01.2013 15:18:55
fcs
Hallo Michael,
ich nehme an, dass du eine Comboboc oder Listbox im Userform für die Auswahl des Namens verwendest.
Nachfolgend ein Beispiel, wie du die Berkungen zu den Namen in einer Textbox zur Anzeige bringen kannst. Die Eigenschaft "Multiline der Textbox muss dabei auf True gesetzt sein.
Gruß
Franz
Private Sub ComboBox1_Change()
Dim strName As String, strText As String, lngZeile As Long
strName = Me.ComboBox1.Value
With Worksheets("Tabelle2")
strText = ""
For lngZeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile, 1).Value = strName Then
If strText = "" Then
strText = .Cells(lngZeile, 2).Text
Else
strText = strText & Chr(10) & .Cells(lngZeile, 2).Text
End If
End If
Next
If strText = "" Then
Me.TextBox1.Value = "(keine Berkung zu Name)"
Else
Me.TextBox1.Value = strText
End If
End With
End Sub

Anzeige
AW: Formular mit Suche und Filter
28.01.2013 12:39:27
Michael
Hallo Franz,
danke für die tolle Lösung. Eingebaut und funktioniert.
Ich hätte da aber noch eine weitere Frage.
Kann ich über diesen Weg auch mehrere Spalten darstellen?
Danke
Gruß
Michael

AW: Formular mit Suche und Filter
28.01.2013 16:31:46
fcs
Hallo Michael,
man kann natürlich ohne Probleme die Daten aus mehreren Spalten erfassen/darstellen. Allerdings ist dann eine Textbox nicht unbedingt ideal für die Darstellung, da eine Spaltendarstellung nur schwierig darstellbar ist. Hier könnte man evtl. die weiteren Spalten etwas eingerückt nach der 1. Zeile einer Fundstelle anzeigen.
Wenn die anzuzeigenden jeweils kurz sind, dann ist die Darstellung in einer Listbox mit mehreren Spalten übersichtlicher.
Bei der Textboxvariante musst du wie folgt für weitere Spalten ergänzen:
      If .Cells(lngZeile, 1).Value = strName Then
If strText = "" Then
strText = .Cells(lngZeile, 2).Text
Else
strText = strText & Chr(10) & .Cells(lngZeile, 2).Text
End If
strText = strText & vbLf & "    " & .Cells(lngZeile, 3).Text
strText = strText & vbLf & "    " & .Cells(lngZeile, 4).Text
End If

Falls du die Listbox-Variante möchtest, dann sieht der Code etwa wie folgt aus (ungetestet):
Private Sub ComboBox1_Change()
Dim strName As String, lngZeile As Long, iCount As Integer
strName = Me.ComboBox1.Value
With Worksheets("Tabelle2")
Listbox1.Clear
For lngZeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile, 1).Value = strName Then
Listbox1.AddItem .Cells(lngZeile, 2).Value
iCount = Listbox1.ListCount
Listbox1.List(iCount - 1, 1) = .Cells(lngZeile, 3).Value
Listbox1.List(iCount - 1, 2) = .Cells(lngZeile, 4).Value
End If
Next
End With
End Sub
Die Anzahl Spalten der Listbox muss du unter den Eigenschaften im Formulareditor einstellen.
Gruß
Franz

Anzeige
AW: Formular mit Suche und Filter
28.01.2013 17:05:55
Michael
Hallo Franz,
super - vielen vielen Dank.
Funktioniert 1a :-)
Gruß
Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige