nachdem das eben nicht geklappt hat,.....
Ich habe das Forum durchsucht. Diverse Lösungen ausprobiert. Nix Funzt.
Hier noch einmal meine Frage:
Ich habe eine Excel Liste "Eingabe", in der Daten (Namen) in der Range a9:a500 eingegeben werden können.
In meiner Userform habe ich eine Combobox, in der ich diese Daten jetzt anzeigen lassen möchte. Jeden Namen aber nur einmal. Das kriege ich schon nicht hin. Weder das Anzeigen, noch das "einmal".
Wenn fertig, möchte ich in der Combobox auf den Namen clicken, und dann in der Tabelle "Eingabe" nur die Zeilen sehen, in denen der angeclickte Name in Spalte A angezeigt wird.
Das letzte was ich getestet habe:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "Klasse1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
ClassModule: frmsuchen
Private Sub ComboBox1_Change()
Dim wks As Worksheet
Dim iRow As Integer
Set wks = Worksheets("Eingabe")
iRow = ComboBox1.ListIndex + 2
TextBox1.Txt = wks.Cells(iRow, 1)
TextBox1.Txt = wks.Cells(iRow, 2)
Textbox3.Txt = Trim(wks.Cells(iRow, 3) & " " & wks.Cells(iRow, 4))
TextBox4.Txt = wks.Cells(iRow, 7)
TextBox5.Txt = Trim(wks.Cells(iRow, 5) & " " & wks.Cells(iRow, 6))
TextBox6.Txt = wks.Cells(iRow, 8)
TextBox7.Txt = wks.Cells(iRow, 9)
TextBox8.Txt = wks.Cells(iRow, 10)
End Sub
Private Sub cmdUebernehmen_Click()
Dim iCol As Integer, iRowL As Integer
If IsEmpty(Cells(1, 1)) Then iRowL = 1
Else
iRowL = Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
For iCol = 1 To 8
Cells(iRowL, iCol) = frmsuchen.Controls("TextBox") & iCol.Value
Next iCol
End Sub
Private Sub cmdWeiter_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim sAdr As String
sAdr = ThisWorkbook.Worksheets("Eingabe"). _
Cells(Rows.Count, 1).End(xlUp).Adress(False, False)
ComboBox1.RowSource = "Eingabe!a9:" & sAdr
End Sub
Sub CallForm()
frmsuchen.Show
End Sub
End Sub