Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalten ausblenden wenn Bedingung erfüllt

Spalten ausblenden wenn Bedingung erfüllt
21.10.2019 12:39:26
Chris
Der File-Upload funktioniert bei mir komischerweise nicht. Gibt es alternativen zum Hochladen?
Hallo zusammen,
da mein letzter Aufruf kaum Aufmerksamkeit bekam, jetzt noch einmal mit Beispieldatei.
Was ich benötige:
Spalten-Filterung ab Spalte F (bis Z) durch Auswahl des Dropdown-Menüs in C2.
Es sollen also zum Beispiel bei Auswahl "Handball" alle Spalten ab F ausgeblendet werden, die NICHT das Wort Handball beinhalten.
Ich hoffe durch die Beispieldatei kann mir nun weiter geholfen werden.
Liebe Grüße und vielen Dank im Voraus!
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten ausblenden wenn Bedingung erfüllt
21.10.2019 12:41:58
Chris
Hier jetzt auch die Beispieldatei:
https://www.herber.de/bbs/user/132626.xlsx
LG
Chris
AW: Spalten ausblenden wenn Bedingung erfüllt
21.10.2019 14:33:51
Daniel
HI
ich würde da so vorgehen:
1. schreibe in F2 (bis Z2) folgende Formel:
=Wenn(oder($C$2="Gesamt";$C$2=F3);"";1)

die Formel kennzeichnet dir alle auszublendenden Spalten mit der Zahl 1
2. zum ausblenden kannst du dann so vorgehen
a) von Hand:
- markiere die Zeile 2
- schränke die Auswahl auf alle Formeln mit Zahl als Ergebnis ein
(Menü: Start - Bearbeiten - Suchen und Auswählen - Inhalte - Formeln - Zahlen)
- blende dann die Spalten mit den selektierten Zellen aus (über den Menüpunkt Zellen - Format - Sichtbarkeit)
b) per Code geht's natürlich auch bspw im Change-Event wie schon von anderen gezeigt, aber jetzt mit Hilfe der Formel deutlich kürzer:
Cells.EntireColumn.Hidden = False
With Rows(2)
if Worksheetfunction.Sum(.Cells) > 0 then _
.SpecialCells(xlcelltypeformulas, 1).EntireColumn.Hidden = True
end with
Gruß Daniel
Anzeige
AW: Spalten ausblenden wenn Bedingung erfüllt
21.10.2019 13:21:59
fcs
Hallo Chris,
für den Upload bitte die Hinweise bzgl Pfad, Dateiname und Dateigröße hier beachten:
https://www.herber.de/forum/file_upload.html
Nachfolgend entsprechende Makros für die gewünschte Aktion.
LG
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False, xlA1) = "C2" Then
Call Spalten_ohne_Suchwort_ausblenden(varSuch:=Target.Text, wks:=ActiveSheet, _
Spalte_1:=6, Spalte_L:=26)
End If
End Sub
'Makro in einem allgemeinen Modul oder im Code-Modul des Tabellenblatts mit dem Dropdown
Sub Spalten_ohne_Suchwort_ausblenden(ByVal varSuch As Variant, wks As Worksheet, _
ByVal Spalte_1 As Long, ByVal Spalte_L As Long, _
Optional ByVal lngLookat As Long = xlPart)
Dim Spalte As Long
Dim rngZelle As Range
With wks
If varSuch = "" Then Exit Sub
.Range(.Columns(Spalte_1), .Columns(Spalte_L)).Hidden = False
For Spalte = Spalte_L To Spalte_1 Step -1
Set rngZelle = .Columns(Spalte).Find(what:=varSuch, LookIn:=xlValues, _
lookat:=lngLookat, MatchCase:=False)
If rngZelle Is Nothing Then
.Columns(Spalte).Hidden = True
End If
Next
End With
End Sub

Anzeige
AW: Spalten ausblenden wenn Bedingung erfüllt
21.10.2019 13:30:39
Chris
Hallo Franz,
danke für die schnelle Antwort!
Soweit klappt alles. Danke dafür.
Besteht jetzt noch die Möglichkeit, dass ich bei Auswahl "Gesamt" wieder alle Spalten eingeblendet bekomme? :)
LG
Chris
AW: Spalten ausblenden wenn Bedingung erfüllt
21.10.2019 14:05:16
fcs
Hallo Chris,
dafür braucht es eine weitere Zeile mit Prüfung.
LG
Franz
'Makro in einem allgemeinen Modul oder im Code-Modul des Tabellenblatts mit dem Dropdown
Sub Spalten_ohne_Suchwort_ausblenden(ByVal varSuch As Variant, wks As Worksheet, _
ByVal Spalte_1 As Long, ByVal Spalte_L As Long, _
Optional ByVal lngLookat As Long = xlPart)
Dim Spalte As Long
Dim rngZelle As Range
With wks
If varSuch = "" Then Exit Sub
.Range(.Columns(Spalte_1), .Columns(Spalte_L)).Hidden = False
If varSuch = "Gesamt" Then Exit Sub    '#### neu
For Spalte = Spalte_L To Spalte_1 Step -1
Set rngZelle = .Columns(Spalte).Find(what:=varSuch, LookIn:=xlValues, _
lookat:=lngLookat, MatchCase:=False)
If rngZelle Is Nothing Then
.Columns(Spalte).Hidden = True
End If
Next
End With
End Sub

Anzeige

378 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige