Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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 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

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
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
Anzeige
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige