Anzeige
Archiv - Navigation
1608to1612
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

Code für Userform - Unklarheit

Code für Userform - Unklarheit
14.02.2018 16:25:22
WalterK
Hallo,
diesen Code für eine UserForm habe ich hier gefunden und auf meine Tabelle angepasst. Läuft hervorragend.
Allerdings ist mir dieser Teil After:=.Cells(13, 1) in der Zeile Set rngSearch = .Range("A13:F" & Lz).Find(Wha.... nicht klar.
Kann mir das jemand erklären.
Danke und Servus, Walter
Option Explicit
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub cmdSearch_Click()
Dim objSH As Worksheet
Dim rngSearch As Range
Dim strFirst As String
Dim Lz As Long
If txtSearch  "" Then
ListBox1.Clear
Set objSH = Sheets("Tabelle1")
With objSH
Lz = Application.Max(13, .Cells(Rows.Count, 2).End(xlUp).Row)
Set rngSearch = .Range("A13:F" & Lz).Find(What:=txtSearch, LookIn:=xlValues, LookAt:=xlPart, _
MatchCase:=False, After:=.Cells(13, 1))
If Not rngSearch Is Nothing Then
strFirst = rngSearch.Address
Do
If .Cells(rngSearch.Row, 3) = ComboBox1.Text Or ComboBox1.Text = "Alle" Then
ListBox1.AddItem .Cells(rngSearch.Row, 1)
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngSearch.Row, 2)
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngSearch.Row, 3)
ListBox1.List(ListBox1.ListCount - 1, 3) = .Cells(rngSearch.Row, 4)
ListBox1.List(ListBox1.ListCount - 1, 4) = .Cells(rngSearch.Row, 5)
ListBox1.List(ListBox1.ListCount - 1, 5) = .Cells(rngSearch.Row, 6)
ListBox1.List(ListBox1.ListCount - 1, 6) = .Cells(rngSearch.Row, 7)
End If
Set rngSearch = .Range("A13:F" & Lz).FindNext(rngSearch)
Loop While Not rngSearch Is Nothing And rngSearch.Address  strFirst
End If
End With
If ListBox1.ListCount = 0 Then ListBox1.AddItem "Kein Treffer!"
End If
End Sub
Private Sub txtSearch_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then cmdSearch_Click
End Sub
Private Sub UserForm_Activate()
With ComboBox1
.List = Split("Alle") ';Horn;Trompete;Schlagzeug;Baß", ";")
.ListIndex = 0
End With

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code für Userform - Unklarheit
14.02.2018 16:30:50
Hajo_Zi
ich würde mal vermuten bis zu dieser Zelle suchen
Ansonsten mal in die Hilfe schauen.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Code für Userform - Unklarheit
14.02.2018 16:47:04
Luschi
Hallo Walter,
'After' bedeutet nach, d.h. der Find-Befehl beginnt nach Cells(13, 1), also nach 'A13', mit der Suche.
Da das aber auch der Standard ist, kann man diesen Parameter.
Ob die Suchen in B13 oder in A14 beginnt, richtet sich nach dem Parameter 'xlByRows' bzw., 'xlByColumns'.
Gruß von Luschi
aus klein-Paris
PS: Übrigens steht in der Vba-Hilfe auch, welche Parameter noch unbedingt anzugeben sind, da dieser Befehl stark mit dem Excel-Oberflächenbefehl 'Suchen' (Strg+F) korrespondiert und Parametereinstellungen übernimmt, die vielleicht in Vba das Ergebnis sonst verfälschen.
Anzeige
Danke und Servus, Walter
14.02.2018 17:14:17
WalterK

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige