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

Spalten mit best. Inhalten ausblenden

Spalten mit best. Inhalten ausblenden
06.01.2021 12:33:38
bzwa
Hallo liebe Excelfreunde und VBA-Profis,
ich brauche bitte eure Hilfe für für folgendes Vorhaben:
1.) Ich möchte in einer Arbeitsmappe auf einem Tabellenblatt alle Spalten per Makro ausblenden, die in Zeile 1 mit den Werten "Feedback" oder "Points" beginnen. Die Spalten für Feedback und Points gibt es öfters, diese werden fortlaufend mit "Feedback_1", "Feedback_2" bzw. "Points_1", "Points_2" weitergezählt. Die betroffenen Spalten würde ich gerne immer ausgeblendet haben.
Die Werte am Tabellenblatt sind hierbei immer max. bis in Zeile 20 eingetragen - die Anzahl der Spalten variiert.
2.) Zusätzlich zu den zuvor ausgeblendeten Spalten möchte ich gerne entscheiden können, welche der restlichen Spalten eingeblendet bleiben. Hierfür sollen ebenfalls die Werte in Zeile 1 berücksichtigt werden. Alle Spalten, die mit bestimmten Werten beginnen, z. B. "HÜ" oder "SÜ" sollen somit ebenfalls eingeblendet werden können.
Hier findet ihr einen Auszug aus der betroffenen Arbeitsmappe:
https://www.herber.de/bbs/user/142805.xlsx
Ich bin euch für jegliche Hilfestellung sehr dankbar!
Beste Grüße
Birgit

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 12:45:36
Nepumuk
Hallo Birgit,
teste mal:
Option Explicit

Public Sub Ausblenden()
    
    Dim objCell As Range
    Dim vntItem As Variant
    
    For Each vntItem In Array("Feedback", "Points")
        
        Set objCell = Rows(1).Find(What:=vntItem, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
        
        If Not objCell Is Nothing Then
            
            Do
                
                objCell.EntireColumn.Hidden = True
                
                Set objCell = Rows(1).FindNext(After:=objCell)
                
            Loop Until objCell Is Nothing
        End If
    Next
End Sub

Public Sub Einblenden()
    Columns.Hidden = False
End Sub

Gruß
Nepumuk
Anzeige
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 14:02:04
bzwa
Hallo Nepomuk,
danke für deine Antwort, damit kann ich auf jeden Fall mal die Spalten mit "Feedback" und "Points" loswerden.
Danke und liebe Grüße
Birgit
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 12:51:26
ChrisL
Hi Brigit
Da die Daten sowieso von einer externen Quelle mittels Datenverbindung bezogen werden, würde ich das Thema direkt in Power-Query erledigen.
- Reiter Daten, Abfragen anzeigen
- rechte Maustaste auf die bereits existierende Abfrage, bearbeiten
- Power-Query Editor öffnet sich
- Spalten (exkl. First Name) markieren, rechte Maustaste, entpivotieren
- Filter auf Attribut setzen: beginnt nicht mit X und beginnt nicht mit Y usw.
- Im PQ-Editor, Reiter Transformieren, Spalte pivotieren (erweiterte Option, Nicht aggregieren)
- Schliessen und laden
cu
Chris
Anzeige
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 14:17:52
bzwa
Hi Chris,
oh toll, danke für den Tipp mit Power-Query, das kannte ich noch nicht!
Wenn ich deine Anleitung aber nachbaue, dann werden die Werte am Ende aber leider seltsam zusammengewürfelt dargestellt, vermutlich, weil die Pivotierung zwischenzeitlich aufgehoben wurde?
Ist es möglich, dass in Spalte A die Vor- in Spalte B die Nachnamen und ab Spalte C die jeweils gewählten Inhalte angezeigt werden? Habe es mit "Spalte auswählen" ausprobiert, aber das müsste man dann halt immer die gesamte Liste durchsuchen...
Liebe Grüße
Birgit
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 14:30:29
ChrisL
Hi Brigit
Zuerst Spalte Attribut markieren. Sollte auch funktionieren, wenn zusätzlich noch ein Nachname vorhanden ist.
Userbild
cu
Chris
Anzeige
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 13:20:58
GerdL
Moin Birgit
Option Explicit
Sub Unit()
Application.ScreenUpdating = False
Rows(1).EntireColumn.Hidden = False
End Sub
Sub Unit1()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Cells(1, 1).CurrentRegion.Rows(1).Cells
If C.Value Like "Points*" Or C.Value Like "Feedback*" Then
C.EntireColumn.Hidden = True
End If
Next
End Sub
Sub Unit2()
Static b As Boolean
Dim C As Range, strText As String
If b Then strText = "SÜ" Else strText = "HÜ"
Application.ScreenUpdating = False
For Each C In Cells(1, 1).CurrentRegion.Rows(1).Cells
C.EntireColumn.Hidden = Not C.Value Like strText & "*"
Next
b = Not b
End Sub

Gruß Gerd
Anzeige
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 14:26:50
bzwa
Hallo Gerd,
danke für deine Rückmeldung - das ist schon fast DIE perfekte Lösung! :-)
Bei "Unit 2" verschwindet jetzt nur die Spalte mit den Namen der Schüler/innen. Könntest du diese noch ergänzen? Dann wäre es ideal!
Vielen Dank und liebe Grüße
Birgit
AW: Spalten mit best. Inhalten ausblenden
06.01.2021 15:08:33
GerdL
Hallo Birgit,
du könntest in diesem Makro nach der Schleife bzw. unter "Next"
Columns(1).Hidden = False
schreiben.
Gruß Gerd

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige