Office: (Office 2016) Spalten aus- und einblenden bei Zellinhalt durch Dropdown

Helfe beim Thema Spalten aus- und einblenden bei Zellinhalt durch Dropdown in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich befinde mich derzeit im HomeOffice und nutze die Zeit, mich mehr mit Excel zu beschäftigen und vor allem mit VBA. Ich habe im Anhang... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von cfs73, 27. März 2020.

  1. cfs73 Neuer User

    Spalten aus- und einblenden bei Zellinhalt durch Dropdown


    Hallo,

    ich befinde mich derzeit im HomeOffice und nutze die Zeit, mich mehr mit Excel zu beschäftigen und vor allem mit VBA.

    Ich habe im Anhang eine Excel Datei als Übung mitgesendet, wo ich auch ein Makro eingebaut habe,den ich im Netz so ähnlich gefunden habe und versucht habe, auf meine Übung anzupassen. Ich werde diese Übung wahrscheinlich demnächst so in diesen Aufbau für die Arbeit benötigen und daher möchte ich mich vorbereiten und natürlich meine Kenntnisse in Umgang mi VBA erweitern, da ich noch eine Laie bin.

    Ich erkläre kurz was ich mir vorstelle:

    1. das Tabellenblatt 1 ist das Jahr, in meiner Übung "2020"
    2. Tabellenblatt 2, ist für mein Dropdown Menü und wo ich die Monate in den Cellen "A1:A6" stehen habe
    3. Tabellenblatt 1 "2020": in Celle "B4" kann ich dann aus einen Dropdown Menü, den Monat wählen
    4. In der Zeile "C:C" von den Cellen "C5:GB5", stehen dann die Tage von den einzelnen Monaten hintereinander (siehe Datei)
    5. Wenn ich jetzt in der Celle "B4" per Dropdown den Monat auswähle, z.B. Februar, dann soll er die anderen Spalten "C:AG" und "BK:GB" ausblenden und nur die Anzahl der Tage im Februar "AH:BJ" einblenden
    6. Das soll natürlich auch bei den anderen Monaten passieren mit ein- und ausblenden der Spalten, sodass man nur die Anzahl der Tage des jeweiligen Monat sieht

    Es geht vielleicht auch einfacher, aber es ist für mich auch gleich eine Übung mich VBA auseinander zu setzen und es kann sein das ich das Prinzip bald brauche.

    Ich bedanke mich jetzt schon für jede Hilfe und vielleicht miss mein Makro nur noch leicht geändert werden und ich lerne dazu.

    Also bleibt gesund und ein schönes Wochenende
     
    Zuletzt bearbeitet: 27. März 2020
  2. cfs73 Neuer User
    Ich habe hier ein Makro, aber der läuft auch nicht so wie ich will:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Range("B4").Text = "Januar" Then
    ' Spalten AH:GB ausblenden
    Columns("AH:GB").Hidden = True
    ' Spalten C:AG einblenden
    Columns("C:AG").Hidden = False

    End If

    If Range("B4").Text = "Februar" Then
    ' Spalten C:AG ausblenden
    Columns("C:AG").Hidden = True
    ' Spalten AH:BJ einblenden
    Columns("AH:BJ").Hidden = False
    ' Spalten BK:GB ausblenden
    Columns("BK:GB").Hidden = True
    End If

    If Range("B4").Text = "März" Then
    ' Spalten C:BJ ausblenden
    Columns("C:BJ").Hidden = True
    ' Spalten BK:CO einblenden
    Columns("BK:CO").Hidden = False
    ' Spalten CP:GB ausblenden
    Columns("CP:GB").Hidden = True
    End If

    If Range("B4").Text = "April" Then
    ' Spalten C:CO ausblenden
    Columns("C:CO").Hidden = True
    ' Spalten CP:DS einblenden
    Columns("CP:DS").Hidden = False
    ' Spalten DT:GB ausblenden
    Columns("DT:GB").Hidden = True
    End If

    If Range("B4").Text = "Mai" Then
    ' Spalten C:DS ausblenden
    Columns("C:DS").Hidden = True
    ' Spalten DT:EX einblenden
    Columns("DT:EX").Hidden = False
    ' Spalten EY:GB ausblenden
    Columns("EY:GB").Hidden = True
    End If


    If Range("B4").Text = "Juni" Then
    ' Spalten EY:GB einblenden
    Columns("EY:GB").Hidden = False
    End If
    End Sub

    Ich hoffe jemand hat eine Idee!

    Gruss
     
  3. cfs73 Neuer User
    ich hoffe die Smileys sind jetzt raus:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Range("B4").Text = "Januar" Then
    ' Spalten AH:GB ausblenden
    Columns("AH:GB").Hidden = True
    ' Spalten C:AG einblenden
    Columns("C:AG").Hidden = False

    End If

    If Range("B4").Text = "Februar" Then
    ' Spalten C:AG ausblenden
    Columns("C:AG").Hidden = True
    ' Spalten AH:BJ einblenden
    Columns("AH:BJ").Hidden = False
    ' Spalten BK:GB ausblenden
    Columns("BK:GB").Hidden = True
    End If

    If Range("B4").Text = "März" Then
    ' Spalten C:BJ ausblenden
    Columns("C:BJ").Hidden = True
    ' Spalten BK:CO einblenden
    Columns("BK:CO").Hidden = False
    ' Spalten CP:GB ausblenden
    Columns("CP:GB").Hidden = True
    End If

    If Range("B4").Text = "April" Then
    ' Spalten C:CO ausblenden
    Columns("C:CO").Hidden = True
    ' Spalten CP:DS einblenden
    Columns("CP:DS").Hidden = False
    ' Spalten DT:GB ausblenden
    Columns("DT:GB").Hidden = True
    End If

    If Range("B4").Text = "Mai" Then
    ' Spalten C:DS ausblenden
    Columns("C:DS").Hidden = True
    ' Spalten DT:EX einblenden
    Columns("DT:EX").Hidden = False
    ' Spalten EY:GB ausblenden
    Columns("EY:GB").Hidden = True
    End If


    If Range("B4").Text = "Juni" Then
    ' Spalten EY:GB einblenden
    Columns("EY:GB").Hidden = False
    End If
    End Sub
     
  4. Beverly
    Beverly Erfahrener User

    Spalten aus- und einblenden bei Zellinhalt durch Dropdown

    Hi,

    ich würde es so lösen:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim intSpalten As Integer
        Dim rngMonat As Range
        Dim intLetzte As Integer
        Dim lngJahr As Long
        'Wenn die Adresse der Zelle mit der Aenderung B4 ist, dann
        If Target.Address = "$B$4" Then
            ' Jahr aus dem Tabellenreiter ermitteln
            lngJahr = ActiveSheet.Name * 1
            'letzte benutze Spalte in Zeile 5
            intLetzte = Rows(5).Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
            'Spalten ausblenden
            Range(Cells(4, 3), Cells(4, intLetzte)).EntireColumn.Hidden = True
            ' Spaltenanzahl = Anzahl der Tage im ausgewählten Monat im aktuellen Jahr
            intSpalten = Application.EoMonth(DateValue("01. " & Range("B4").Value & "." & lngJahr), 0) - _
                Application.EoMonth(DateValue("01. " & Range("B4").Value & "." & lngJahr), -1)
            ' Monat in Zeile 4 finden
            Set rngMonat = Range(Cells(4, 3), Cells(4, intLetzte)).Find(Range("B4"), lookat:=xlWhole)
            ' Monat wurde gefunden
            If Not rngMonat Is Nothing Then
                ' gefundene Spalte + Anzahl der Tage im Monat -1 einblenden
                Range(Cells(4, rngMonat.Column), Cells(4, rngMonat.Column + intSpalten - 1)).EntireColumn.Hidden = False
            Else
                ' falls Monat Januar ausgewählt: da Januar nicht in C4 aufgeführt
                If Target.Value = "Januar" Then Range(Cells(4, 3), Cells(4, 33)).EntireColumn.Hidden = False
            End If
        End If
    End Sub
    
    
    

    Wenn du "Januar" noch in C4 einträgst, kannst du den Else-Zweig weglassen.

    Bis später,
    Karin
     
    Beverly, 28. März 2020
    #4
  5. cfs73 Neuer User
    Guten Morgen,

    ja vielen Dank das geht echt super, denn jetzt muss ich nicht erst in eine andere Celle klicken fuer die Ausführung, der ist natürlich toll! Waere ich ja bei meinen Kenntnissen nie auf diese Form des Makros gekommen, lach!
    Ich habe noch eine Frage dazu, weil ich habe dadurch schon wieder was gelernt. Wenn ich Spalten ein- und ausblenden moechte und ich nun nicht mit Datum arbeite? Also einen Code, denn ich auch auf was anderes anwenden kann.
    Nun nehme den ganz einfachen Code von mir , dann passe ich den mir an, aber dann klappt es nur, wenn ich dann in eine Celle druecke.

    Wuerde ich den Code dann so aufbauen?

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Address = "B4" Then

    ' Spalten AH:GB ausblenden
    Case "Name":Columns("AH:GB").Hidden = True
    ' Spalten C:AG einblenden
    Columns("C:AG").Hidden = False

    End If

    Wie gesagt, nur ein Ansatz.

    Vielen Dank fuer die tolle Hilfe
    End Sub
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
  6. Beverly
    Beverly Erfahrener User
    Hi,

    vergleiche doch mal die 1. Zeile meines Codes und deines - was ist dort der Unterschied? Du verwendest SelectionChange - also Zellmarkierung ändern, ich verwende Change - also Zellinhalt ändern.

    Bis später,
    Karin
     
    Beverly, 28. März 2020
    #6
  7. cfs73 Neuer User
    Vielen Dank, stimmt ja! Danke für den Hinweis.

    Läuft gut!

    Schönes Wochenende
     
  8. Marcus123 Neuer User

    Spalten aus- und einblenden bei Zellinhalt durch Dropdown

    @Beverly

    habe zu diesem Code von dir ein paar Fragen (habe keine großen Kenntnisse bei VBA)

    Meine Tabelle hat 350 Spalten
    jetzt wäre es im Grunde ähnlich wie bei deinem Code - ich gebe ein Monat ein und er rechnet sich die Spalten aus die er ausblenden soll.

    Bei mir sollte es wenn es möglich ist ein fester Wert an Spalten sein die er ausblendet. Und Zwar immer 10.
    Die erste Gruppe wäre dann also von G1 bis P1, die zweite dann von Q1 bis Z1 usw.

    Was müsste ich in deinem Code wie anpassen? das ich das zum laufen bringe?

    Wäre für jeden Tipp dankbar

    Gruß
    Marcus
     
    Marcus123, 30. September 2021
    #8
  9. Beverly
    Beverly Erfahrener User
    Hi Markus,

    da müsstest du schon etwas spezifischer werden - am einfachsten wäre, wenn du eine Beispielmappe hochladen (damit man den genauen Aufbau sehen kann) und dazu noch genau beschreiben würdest, was wann wie passieren soll.


    Spalten aus- und einblenden bei Zellinhalt durch Dropdown GrußformelSpalten aus- und einblenden bei Zellinhalt durch Dropdown Beverly's Excel - Inn
     
  10. kadrleyn Neuer User
    kadrleyn, 8. November 2021
    #10
Thema:

Spalten aus- und einblenden bei Zellinhalt durch Dropdown

Die Seite wird geladen...
  1. Spalten aus- und einblenden bei Zellinhalt durch Dropdown - Similar Threads - Spalten einblenden Zellinhalt

  2. Radoibutton Abfrage - Spalten einblenden

    in Microsoft Excel Hilfe
    Radoibutton Abfrage - Spalten einblenden: Hallo Leute, ich möchte über ein Userform per Radiobutton auswählen welche Spalten in meiner Tabelle ingeblendet werden sollen. Leider bekomm ich es nicht ganz hin und bekomm immer eine...
  3. Spalte einblenden wenn in Zelle Wert größer Null

    in Microsoft Excel Hilfe
    Spalte einblenden wenn in Zelle Wert größer Null: Hallo zusammen, ich brauche mal wieder Eure Hilfe!!!!!! Ich habe wieder eine Aufgabe und hierzu so meine Vorstellung, ob es umsetzbar ist, weiß ich nicht. Ich versuche es mal verständlich zu...
  4. VBA Spalten aus- und einblenden trotz Blattschutz

    in Microsoft Excel Hilfe
    VBA Spalten aus- und einblenden trotz Blattschutz: Guten Tag Ich habe eine Übersicht, in dem die Urlaubszeiträume meiner Kollegen eingetragen werden sollen. Neben Namen, Vornamen und Zeitraum sollen noch weitere spezifische Daten eingetragen...
  5. Spalte einblenden mit Passwort von "Bearbeiten von Bereichen zulassen"

    in Microsoft Excel Hilfe
    Spalte einblenden mit Passwort von "Bearbeiten von Bereichen zulassen": Hallo zusammen, ich bin bei folgendem Problem ratlos. Und zwar habe ich bereits 3 Bereiche angelegt unter "Bearbeiten von Bereichen zulassen". Dabei habe ich 3 verschiedene Passwörter gewählt....
  6. Kalenderwochen einblenden/ausblenden

    in Microsoft Excel Hilfe
    Kalenderwochen einblenden/ausblenden: Hallo liebe Leute, Ich habe folgendes Problem: Ich habe in den Spalten A-L Namen von Mitarbeitern und deren Daten usw. Ab der Spalte M habe ich Kalenderwochen und Tage Von KW1 (darunter die...
  7. Einblenden der ersten Spalte oder Zeile auf einem Arbeitsblatt

    in Microsoft Excel Tutorials
    Einblenden der ersten Spalte oder Zeile auf einem Arbeitsblatt: Einblenden der ersten Spalte oder Zeile auf einem Arbeitsblatt Excel für Microsoft 365 Excel für das Web Excel 2019 Excel 2016 Excel 2013 Excel 2010...
  8. VBA: Spalten einblenden, wenn in Eingabezelle bestimmter String

    in Microsoft Excel Hilfe
    VBA: Spalten einblenden, wenn in Eingabezelle bestimmter String: Hallo in die Runde, danke schon mal für euren Support!! Meine Tabelle: - Ein Blatt, heißt GESAMT, 120 Spalten, ca. 1000 Zeilen - jeweils in Zeile 2 sind ab Spalte J Strings enthalten (z.B....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden