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

Horizontal filtern nach Dropdown Auswahl

Horizontal filtern nach Dropdown Auswahl
15.05.2018 12:55:41
Christian
Hallo,
ich habe schon einen Beitrag zu diesem Thema im Archiv gefunden, schaffe es leider nicht, den VBA Code dementsprechend anzupassen.
Ausgangssituation:
Ich habe eine Excel Tabelle, in der ich in Feld B10 ein Dropdown-Menü mit 3 Möglichkeiten (auto/semi/manuell) habe. In den Zellen I10, K10.... und aufsteigend tauchen durcheinander die Begriffe "auto/semi/manuell" auf je nach Auswahl im Dropdown-Menü sollen die nichtzutreffenden Spalten ausgeblendet werden. Da die Tabelle kontinuierlich erweitert wird, kann ich mich auch nicht auf einen Endwert in Zeile 10 festlegen. Das sollte dynamisch sein.
Meinen Code, den ich hier im Forum gefunden habe...
----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range
With Target
If .Address = "$B$10" Then
Application.ScreenUpdating = False
With Range(.Offset(0, 1), Cells(.Row, Columns.Count).End(xlToLeft))
Set objCell = .Find(What:=Trim$(Target.Value), _
LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not objCell Is Nothing Then
.EntireColumn.Hidden = False
Range(Columns(Target.Column + 2), Columns(objCell.Column - 1)).EntireColumn. _
Hidden = True
Else
.EntireColumn.Hidden = False
Set objCell = .Find(What:=Trim$(Target.Value), _
LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
With Target
If objCell.Column > .Column + 2 Then _
Range(Columns(.Column + 2), Columns(objCell.Column - 1)).EntireColumn. _
Hidden = True
End With
End If
End With
Set objCell = Nothing
Application.ScreenUpdating = True
End If
End With
End Sub

Was passiert beim Ausführen....
----------------------------------
Der Code läuft durch, blendet aber nur teilweise die Spalten aus. Irgendwie liegt das wohl an dem Offset und den Columns +/-.
Aber ich kann mit den Begriffen nicht richtig umgehen.
Über eine Unterstützung wäre ich sehr dankbar.
Viele Grüße
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Horizontal filtern nach Dropdown Auswahl
15.05.2018 23:28:30
fcs
Hallo Christian,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range, Spalte As Long
With Target
If .Address = "$B$10" Then
Application.ScreenUpdating = False
Columns.Hidden = False
Spalte = Me.Cells(.Row, Me.Columns.Count).End(xlToLeft).Column
If Spalte > .Column Then
For Each objCell In Me.Range(.Offset(0, 1), Me.Cells(.Row, Spalte)).Cells
If LCase(objCell.Value)  LCase(Trim(Target.Value)) Then
objCell.EntireColumn.Hidden = True
End If
Next
End If
Application.ScreenUpdating = True
End If
End With
End Sub

Gruß
Franz
Anzeige
AW: Horizontal filtern nach Dropdown Auswahl
16.05.2018 07:46:05
Christian
Hallo Franz,
vielen Dank für die schnelle Hilfe.
Der Code funktioniert.
Leider habe ich wohl eine winzige Kleinigkeit vergessen zu sagen.
Die Spalten sollen beim Filtern erst ab Spalte I ausgeblendet werden. Spalte A-H soll immer angezeigt werden. Entschuldige bitte.
Kann mir da noch jemand helfen?
Vielen Dank.
Viele Grüße
AW: Horizontal filtern nach Dropdown Auswahl
17.05.2018 11:28:27
Christian
Hallo Franz,
ich habe es gefunden. Habe den Offset geändert.
Nochmals vielen Dank für Deine Hilfe.
Tolles Forum.
Viele Grüße
Christian

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige