Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Suchfeld für Spalten

Forumthread: VBA Suchfeld für Spalten

VBA Suchfeld für Spalten
08.05.2020 11:13:04
Matthias
Hallo zusammen,
ich versuche derzeit die folgende VBA (Quelle: Flox83 - Office-Lösung) so anzupassen, dass diese für Spalten funktioniert. Leider hat das mit meinen rudimentären VBA-Kenntnissen nicht funktioniert. Hat jemand eine Ahnung wie das gehen könnte? Ich verstehe im fett markierten Teil z.B. nicht, wieso dort 6 steht.
Wäre toll, wenn jemand helfen könnte, danke!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim intLastRow As Integer
Dim strSearchText As String
If (Target.Address = "$C$3") Then
'Wenn die geänderte Adresse C3 ist ...
intLastRow = ActiveWorkbook.Sheets("Tabelle1").Range("A65536").End(xlUp).Row
'Letzte Zeile in dem Sheet "Tabelle1" aus Spalte A auslesen
strSearchText = Target.Value
'Suchwert übernehmen
If IsEmpty(Target.Value) Then
'Wenn Suchfeld leer ...
Columns("A:A").EntireRow.Hidden = False
'... alle Zeilen einblenden
Else
For i = intLastRow To 6 Step -1
'Zeilen von unten nach oben durchlaufen ...
If LCase(Sheets("Tabelle1").Range("A" & i)) Like LCase("*" & strSearchText & "*")    _
_
_
Then
'Wenn der Suchwert zum Teil mit dem Suchtext übereinstimmt ...
Range("A" & i).EntireRow.Hidden = False
'... Zeile anzeigen
Else
Range("A" & i).EntireRow.Hidden = True
'... sonst Zeile verstecken
End If
Next i
End If
End If
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Suchfeld für Spalten
08.05.2020 11:31:21
PeTeR
Hallo Matthias,
kurze Erklärung zum Makro:
1) Das Makro sucht in der Spalte A die letzte beschriebene Zelle: intLastRow = ActiveWorkbook.Sheets("Tabelle1").Range("A65536").End(xlUp).Row
2) In der Spalte A wird von unten (s. 1) nach oben bis zur Zeile 6 der Wert aus der Zelle C3 gesucht. Die Zeilen 1 - 5 werden NICHT durchsucht: For i = intLastRow To 6 Step -1
Um das auf Spalten anzupassen, stellt sich die Frage, welche Zeile du durchsuchen willst.
VG
PeTeR
Anzeige
AW: VBA Suchfeld für Spalten
08.05.2020 12:11:09
Matthias
Hallo PeTeR,
vielen Dank für deine Infos.
Ich möchte Zeile 4 durchsuchen, Spalten 1-3 sollen nicht durchsucht werden.
Ich versuche mich nochmal an der Anpassung und würde dann die angepasste VBA hochladen.
Viele Grüße
Matthias
AW: VBA Suchfeld für Spalten
08.05.2020 12:32:23
PeTeR
Hallo Matthias,
dann sollte dein Makro so aussehen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intLastCol As Integer
Dim strSearchText As String
Dim i As Integer
If (Target.Address = "$A$1") Then
'Wenn die geänderte Adresse A1 ist ...
intLastCol = ActiveWorkbook.Sheets("Tabelle1").Range("ZZ4").End(xlToLeft).Column
'Letzte Spalte in dem Sheet "Tabelle1" aus Zeile 4 auslesen
strSearchText = Target.Value
'Suchwert übernehmen
If IsEmpty(Target.Value) Then
'Wenn Suchfeld leer ...
Columns("A:ZZ").Hidden = False
'... alle Spalten einblenden
Else
For i = intLastCol To 4 Step -1
'Spalten von rechts nach links durchlaufen ...
If LCase(Sheets("Tabelle1").Cells(4, i).Value) Like LCase("*" & strSearchText & "*" _
) _
_
_
Then
'Wenn der Suchwert zum Teil mit dem Suchtext übereinstimmt ...
Cells(4, i).EntireColumn.Hidden = False
'... Spalte anzeigen
Else
Cells(4, i).EntireColumn.Hidden = True
'... sonst Spalte verstecken
End If
Next i
End If
End If
End Sub

Viel Erfolg
PeTeR
Anzeige
AW: VBA Suchfeld für Spalten
08.05.2020 13:50:43
Matthias
Hallo PeTeR,
vielen Dank für deine Lösung. Funktioniert wunderbar.
An diesem Teil lags:
If LCase(Sheets("Tabelle1").Cells(4, i).Value) Like LCase
Ich hab es mit "Range" statt "Cells" und ohne ".Value" probiert.
Gruß Matthias
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige