Registriert seit: 12.12.2016
Version(en): 2010
13.12.2016, 16:41
(Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2016, 16:43 von AndyExcel77.)
Hallo,
ich habe folgende Suchfunktion bei mir per Schaltfläche zum Aktivieren als Code
Sub Suchfunktion()
Dim bFound As Boolean
Dim rC As Range
Dim tAddr As String
Dim tSearch As String
tSearch = InputBox("Suche nach:", "Suchen")
If tSearch = "" Then Exit Sub
With ActiveSheet.Cells
Set rC = .Find(tSearch, LookIn:=xlValues)
If Not rC Is Nothing Then
tAddr = rC.Address
Do
rC.Select
rC.Interior.ColorIndex = 4
MsgBox "Artikel:" & rC.Value
rC.Interior.ColorIndex = 2
bFound = True
Set rC = .FindNext(rC)
Loop While Not rC Is Nothing And rC.Address <> tAddr
End If
End With
If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub
Ich würde noch gerne das die Suchergebnisse zusammen in einer List box stehen und mir angezeigt werden ( dazu sollen die werte in den nebenstehenden Zeilen auch angezeigt werden)
also im Beispiel unten sollen die Inhalte von B12 und C12 sowie D12 mit in der List box angezeigt werden
Also in meiner Tabelle immer die Spalten B C und d nebenstehend
Ist das möglich ?
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
mal ungetestet (sollte zumindest für B12 und C12 klappen)
Code:
Sub Suchfunktion()
Dim bFound As Boolean
Dim rC As Range
Dim tAddr As String
Dim tSearch As String
Dim lngC As Long
tSearch = InputBox("Suche nach:", "Suchen")
If tSearch = "" Then Exit Sub
With ActiveSheet.Cells
Set rC = .Find(tSearch, LookIn:=xlValues)
If Not rC Is Nothing Then
tAddr = rC.Address
Do
rC.Select
rC.Interior.ColorIndex = 4
listbox1.AddItem r.Value
listbox1.List(lngC, 1) = r.Offset(, 1).Value
lngC = lngC + 1
MsgBox "Artikel:" & rC.Value
rC.Interior.ColorIndex = 2
bFound = True
Set rC = .FindNext(rC)
Loop While Not rC Is Nothing And rC.Address <> tAddr
End If
End With
If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 12.12.2016
Version(en): 2010
Hallo,
und danke
Ich habe noch ein Problem,
wenn ich die Suchfunktion aktiviere, kann ich Sie nicht abbrechen bis alle Ergebnisse angezeigt wurden!
Bitte um abhilfe
hier noch mal der Code ->
Sub Suchfunktion()
Dim bFound As Boolean
Dim rC As Range
Dim tAddr As String
Dim tSearch As String
tSearch = InputBox("Suche nach:", "Suchen")
If tSearch = "" Then Exit Sub
With ActiveSheet.Cells
Set rC = .Find(tSearch, LookIn:=xlValues)
If Not rC Is Nothing Then
tAddr = rC.Address
Do
rC.Select
rC.Interior.ColorIndex = 4
MsgBox "Artikel:" & rC.Value
rC.Interior.ColorIndex = 2
bFound = True
Set rC = .FindNext(rC)
Loop While Not rC Is Nothing And rC.Address <> tAddr
End If
End With
If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
If MsgBox("Artikel:" & rC.Value, vbRetryCancel) = vbCancel Then Exit Do
Gruß Uwe
Registriert seit: 12.12.2016
Version(en): 2010
(14.12.2016, 08:43)Kuwer schrieb: Hallo,If MsgBox("Artikel:" & rC.Value, vbRetryCancel) = vbCancel Then Exit Do
Gruß Uwe
Hallo, das klappt super , nur leider lässt er mir die Ergebnisse farbig stehen, wenn ich auf abbrechen klicke, das müsste noch behoben werden, DANKE
Registriert seit: 12.12.2016
Version(en): 2010
Hallo, das klappt super , nur leider bleiben die Suchergebnisse Farbig eingefärbt, wenn ich auf abrechen klicke, das müsste noch behoben werden.
DANKE
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
stimmt, also doch etwas umfangreicher:

Sub Suchfunktion()
Dim bFound As Boolean, bCancel As Boolean
Dim rC As Range
Dim tAddr As String
Dim tSearch As String
tSearch = InputBox("Suche nach:", "Suchen")
If tSearch = "" Then Exit Sub
With ActiveSheet.Cells
Set rC = .Find(tSearch, LookIn:=xlValues)
If Not rC Is Nothing Then
tAddr = rC.Address
Do
rC.Select
rC.Interior.ColorIndex = 4
bCancel = MsgBox("Artikel:" & rC.Value, vbRetryCancel) = vbCancel
rC.Interior.ColorIndex = 0
bFound = True
Set rC = .FindNext(rC)
Loop While Not rC Is Nothing And rC.Address <> tAddr And Not bCancel
End If
End With
If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub
Gruß Uwe
Registriert seit: 12.12.2016
Version(en): 2010
Super Vielen DANK !!!
Das mit der List box öffne ich noch einmal neu das ist dann wohl auch umfangreicher
DANKE