21.11.2019, 08:15
Die Informationen befinden sich rechts davon in den 2 nanebenliegenden Zellen. Also kann ich die ganze Zeile löschen und nach oben verschieben hat auch gut geklappt. Danke dir :)
Userform
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21.11.2019, 08:15
Die Informationen befinden sich rechts davon in den 2 nanebenliegenden Zellen. Also kann ich die ganze Zeile löschen und nach oben verschieben hat auch gut geklappt. Danke dir :)
Hallo Madness,
für eine Auflistung mehrerer Treffer bietet sich eine ListBox an. Da kann man alle gewünschten Spalten darstellen. Auch zusätzliche Informationen wie in meinem Beispiel die jeweilige Adresse in die Listboxspalte 0 (Zählung fängt mit Null an) können erfasst werden. Dialog UserForm1 Option Explicit Private Sub CommandButton1_Click() Dim oWkSh As Worksheet Dim rngF As Range Dim strF As String Set oWkSh = ThisWorkbook.Worksheets("Datenbank_TN") If TextBox1.Value <> "" Then Set rngF = oWkSh.Columns(1).Find(TextBox1.Value, , xlValues, xlWhole) If Not rngF Is Nothing Then strF = rngF.Address With ListBox1 .Clear .BoundColumn = 1 .ColumnCount = 4 .ColumnWidths = 0 'erste Spalte wird ausgeblendet .MultiSelect = fmMultiSelectMulti .ListStyle = fmListStyleOption Do .AddItem rngF.Resize(, 3).Address(External:=True) .List(.ListCount - 1, 1) = rngF.Value .List(.ListCount - 1, 2) = rngF.Offset(, 1).Value .List(.ListCount - 1, 3) = rngF.Offset(, 2).Value Set rngF = oWkSh.Columns(1).FindNext(rngF) Loop While Not rngF Is Nothing And rngF.Address <> strF End With Else With TextBox1 MsgBox "Der gesuchte Begriff """ & .Value & _ """ wurde nicht gefunden.", _ 48, " Hinweis für " & Application.UserName .SetFocus .SelStart = 0 .SelLength = Len(.Value) End With End If Else MsgBox "Sie müssen einen Suchbegriff eingeben - danke.", _ 48, " Hinweis für " & Application.UserName TextBox1.SetFocus End If End Sub Private Sub CommandButton2_Click() Dim i As Long Dim rngZ As Range With ListBox1 For i = 0 To .ListCount - 1 If .Selected(i) Then If Not rngZ Is Nothing Then Set rngZ = Application.Union(rngZ, Range(.List(i, 0))) Else Set rngZ = Range(.List(i, 0)) End If End If Next i End With If Not rngZ Is Nothing Then Application.Goto rngZ End If End Sub
Modul Modul1 Option Explicit Sub Schaltfläche1_Klicken() UserForm1.Show End SubGruß Uwe
21.11.2019, 08:30
Danke dir, werd ich gleich mal in einer Kopie ausprobieren und mir anschauen ob ich das so verwenden kann, aber schaut glaube ich genauso aus, wie das was ich brauche.
Danke dir :) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|