Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1568to1572
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

VBA - Suche unter Filterberücksichtigung

VBA - Suche unter Filterberücksichtigung
31.07.2017 13:04:40
Bernhard
Hallo an alle User,
mir fehlt ein kleiner Input, wo im Code ich definieren kann, dass nicht die gesamten Zeilen durchsucht werden, sondern nur in den gefilterten:
Da ich die bereits ausgetretenen User nicht benötige, wurden diese per Filter in der Ansicht ausgeblendet - durchsucht werden leider noch alle Werte.
.SpecialCells(xlCellTypeVisible) ....? wo einbauen?
Sub Search_Client()
Dim lng As Long
Dim wks1 As Worksheet
Dim i
Dim SN
Dim Suche
Dim Zelle As String
Dim iRow As Long
SN = Application.InputBox(" User (Nachname) eingeben:")
Set wks1 = Worksheets("User")
lng = ThisWorkbook.Sheets("User").Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To lng
'Spalte angeben, in der gesucht wird (.Cells(i, x)
If InStr(1, wks1.Cells(i, 2).Value, SN, vbTextCompare) Then
'Zelle(n) angeben, welche ausgegeben werden sollen
Suche = Suche & "     " & wks1.Cells(i, 1).Value & "   |   " & wks1.Cells(i, 2). _
Value & "   |   " & wks1.Cells(i, 25).Value & Chr(13)
End If
Next
'Ausgabe MsgBox
'MsgBox Suche, vbInformation + vbOKOnly, "Client | Zuordnung"
MsgBox Suche, , "Client | Zuordnung"
End Sub
Womöglich hat Jemand eine Lösung für mich?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Suche unter Filterberücksichtigung
31.07.2017 13:16:37
Rudi
Hallo,
teste mal:
Sub Search_Client()
Dim lng As Long
Dim wks1 As Worksheet
Dim i
Dim SN
Dim Suche
Dim Zelle As String
Dim iRow As Long
Dim rng As Range
SN = Application.InputBox(" User (Nachname) eingeben:")
Set wks1 = Worksheets("User")
With wks1
For Each rng In Intersect(.Cells(1, 1).CurrentRegion.SpecialCells(xlCellTypeVisible), . _
Columns(2))
'Spalte angeben, in der gesucht wird (.Cells(i, x)
If InStr(1, rng.Value, SN, vbTextCompare) Then
'Zelle(n) angeben, welche ausgegeben werden sollen
Suche = Suche & "     " & rng.Offset(, -1).Value & _
"   |   " & rng.Value & "   |   " & rng.Offset(, 22).Value & Chr(13)
End If
Next
End With
'Ausgabe MsgBox
'MsgBox Suche, vbInformation + vbOKOnly, "Client | Zuordnung"
MsgBox Suche, , "Client | Zuordnung"
End Sub
Gruß
Rudi
Anzeige
AW: VBA - Suche unter Filterberücksichtigung
31.07.2017 13:19:03
ChrisL
Hi
z.B...
Sub Search_Client()
Dim wks1 As Worksheet
Dim c As Range
Dim SN As String
Dim Suche As String
SN = Application.InputBox(" User (Nachname) eingeben:")
Set wks1 = Worksheets("User")
With wks1
For Each c In .Range(.[B2], .Cells(Rows.Count, 2).End(xlUp)).SpecialCells(xlCellTypeVisible)
'Spalte angeben, in der gesucht wird (.Cells(i, x)
If InStr(1, c.Value, SN, vbTextCompare) Then
'Zelle(n) angeben, welche ausgegeben werden sollen
Suche = Suche & "     " & wks1.Cells(c.Row, 1).Value & "   |   " & wks1.Cells(c.Row, 2). _
Value & "   |   " & wks1.Cells(c.Row, 25).Value & Chr(13)
End If
Next c
End With
MsgBox Suche, , "Client | Zuordnung"
End Sub

cu
Chris
Anzeige
AW: VBA - Suche unter Filterberücksichtigung
31.07.2017 13:25:22
Bernhard
Grüß euch,
beide Ansätze laufen nicht durch, da im Sheet einzelne Spalten geschützt sind... möchte den Schutz auch nicht aufheben - in meinem Beispiel klappt es ohne...
AW: VBA - Suche unter Filterberücksichtigung
31.07.2017 13:41:35
ChrisL
Hi Bernhard
Dann versuch mal so...
Sub Search_Client()
Dim lng As Long
Dim wks1 As Worksheet
Dim i As Long
Dim SN As String
Dim Suche As String
SN = Application.InputBox(" User (Nachname) eingeben:")
Set wks1 = Worksheets("User")
lng = ThisWorkbook.Sheets("User").Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To lng
'Spalte angeben, in der gesucht wird (.Cells(i, x)
If InStr(1, wks1.Cells(i, 2).Value, SN, vbTextCompare) And Not wks1.Rows(i).Hidden  _
Then
'Zelle(n) angeben, welche ausgegeben werden sollen
Suche = Suche & "     " & wks1.Cells(i, 1).Value & "   |   " & wks1.Cells(i, 2). _
Value & "   |   " & wks1.Cells(i, 25).Value & Chr(13)
End If
Next
'Ausgabe MsgBox
'MsgBox Suche, vbInformation + vbOKOnly, "Client | Zuordnung"
MsgBox Suche, , "Client | Zuordnung"
End Sub

cu
Chris
Anzeige
AW: VBA - Suche unter Filterberücksichtigung
31.07.2017 14:14:01
Bernhard
Perfekt - herzlichen Dank!
cu
lg, Bernhard

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige