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

Marko spalten ausblenden mit Filterung

Marko spalten ausblenden mit Filterung
10.06.2020 11:15:38
Lukas
Hi,
ich habe dieses Makro:
Sub Filtern_Spalten_Ausblenden()
Dim loLetzteS As Long, i As Long, raAusblenden As Range
With Worksheets("Sammeländerung 2")
If .Range("L16") = "" Then
If .Range("D21").AutoFilter Then .AutoFilterMode = False
.Columns.Hidden = False
Exit Sub
End If
Application.ScreenUpdating = False
If IsNumeric(.Range("L16")) Then
If WorksheetFunction.CountIf(.Columns("D"), .Range("L16")) > 0 Then
.Columns.Hidden = False
.Range("D21").Select
.ListObjects("Tabelle10").Range.AutoFilter Field:=1, Criteria1:=.Range("L16")
loLetzteS = .Cells(21, .Columns.Count).End(xlToLeft).Column
For i = 23 To loLetzteS
If WorksheetFunction.Aggregate(9, 7, .Columns(i)) = 0 Then
If raAusblenden Is Nothing Then
Set raAusblenden = .Cells(1, i)
Else
Set raAusblenden = Union(raAusblenden, .Cells(1, i))
End If
End If
Next i
If Not raAusblenden Is Nothing Then
raAusblenden.EntireColumn.Hidden = True
End If
Else
MsgBox "Fehler: Den Filterbegriff " & .Range("L16") & " gibt es in Spalte C nicht."
End If
Else
MsgBox "Fehler: Der Filterbegriff ist nicht numerisch."
End If
End With
Set raAusblenden = Nothing
End Sub
https://www.herber.de/bbs/user/138122.xlsm
Allerdings möchte ich noch die Spalten B-F ausgeblendet haben, bei der Filterung.
Kann mir jemand weiterhelfen?
Viele Grüße
Lukas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Marko spalten ausblenden mit Filterung
10.06.2020 11:31:38
Werner
Hallo,
kommt mir bekannt vor.
Wenn ich dich richtig verstanden habe, dann hier so ergänzen:
If Not raAusblenden Is Nothing Then
Set raAusblenden = Union(raAusblenden, .Range(.Cells(1, "B"), .Cells(1, "F")))
raAusblenden.EntireColumn.Hidden = True
End If
Gruß Werner
AW: Marko spalten ausblenden mit Filterung
10.06.2020 11:40:33
Lukas
Hi Werner,
ja das hast du, vielen Dank! Ich habe das jetzt so ergänzt. Ist das richtig?
Sub Filtern_Spalten_Ausblenden()
Dim loLetzteS As Long, i As Long, raAusblenden As Range
With Worksheets("Sammeländerung 2")
If .Range("L16") = "" Then
If .Range("D21").AutoFilter Then .AutoFilterMode = False
.Columns.Hidden = False
Exit Sub
End If
Application.ScreenUpdating = False
If IsNumeric(.Range("L16")) Then
If WorksheetFunction.CountIf(.Columns("D"), .Range("L16")) > 0 Then
.Columns.Hidden = False
.Range("D21").Select
.ListObjects("Tabelle10").Range.AutoFilter Field:=1, Criteria1:=.Range("L16")
loLetzteS = .Cells(21, .Columns.Count).End(xlToLeft).Column
For i = 23 To loLetzteS
If WorksheetFunction.Aggregate(9, 7, .Columns(i)) = 0 Then
If raAusblenden Is Nothing Then
Set raAusblenden = .Cells(1, i)
Else
Set raAusblenden = Union(raAusblenden, .Cells(1, i))
End If
End If
Next i
If Not raAusblenden Is Nothing Then
Set raAusblenden = Union(raAusblenden, .Range(.Cells(1, "B"), .Cells(1, "F")))
raAusblenden.EntireColumn.Hidden = True
End If
Else
MsgBox "Fehler: Den Filterbegriff " & .Range("L16") & " gibt es in Spalte C nicht."
End If
Else
MsgBox "Fehler: Der Filterbegriff ist nicht numerisch."
End If
End With
Set raAusblenden = Nothing
End Sub
Wenn ich das so habe und Zahlen in L16 eingebe, filtert er perfekt. Wenn ich allerdings in L16 nichts eingebe und filter, werden die Spalten B-F wieder eingeblendet. Kann man das ändern?
Viele Grüße,
Lukas
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige