Office: (Office 2016) Code optimieren

Helfe beim Thema Code optimieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich würde gerne meinen Code optimieren. Leider komme ich alleine nicht weiter und benötige deshalb eure Hilfe. Ich habe ein... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von lajouliee, 29. Dezember 2018.

  1. Code optimieren


    Hallo zusammen,

    ich würde gerne meinen Code optimieren.
    Leider komme ich alleine nicht weiter und benötige deshalb eure Hilfe.

    Ich habe ein Dropdown erstellt, bei der man zwischen Gesamtansicht, 1., 2., 3. und 4. Quartal wählen kann.

    Mit einem bzw. mehreren Makros möchte ich jetzt jeweils das Volumen der einzelnen Quartale ein-/ausblenden.

    Fürs Ausblenden habe ich bereits folgenden Code geschrieben:

    Private Sub Worksheet_Change(ByVal Target As Range)

    'Variable Spalte
    If Target.Address = "$A$1" Then

    ' Nimm den Wert des geänderten Bereiches
    Select Case Target.Value

    Case "(All figures)"
    ' Blende alle Spalten ein
    ActiveSheet.Columns.Hidden = False

    ' Blende Spalten aus
    Columns("a:cd").EntireColumn.Hidden = False

    Case "1. Quartal"
    ' Blende alle Spalten ein
    ActiveSheet.Columns.Hidden = False
    ' Blende Spalten aus
    Columns("t:ab").EntireColumn.Hidden = True
    Columns("ac:ak").EntireColumn.Hidden = True
    Columns("al:at").EntireColumn.Hidden = True
    Columns("bd:bl").EntireColumn.Hidden = True
    Columns("bm:bu").EntireColumn.Hidden = True
    Columns("bv:cd").EntireColumn.Hidden = True
    Columns("cn:cv").EntireColumn.Hidden = True
    Columns("cw:de").EntireColumn.Hidden = True
    Columns("df:dn").EntireColumn.Hidden = True

    Case "2. Quartal"
    ' Blende alle Spalten ein
    ActiveSheet.Columns.Hidden = False
    ' Blende Spalten aus
    Columns("b:j").EntireColumn.Hidden = True
    Columns("ac:ak").EntireColumn.Hidden = True
    Columns("al:at").EntireColumn.Hidden = True
    Columns("au:bc").EntireColumn.Hidden = True
    Columns("bm:bu").EntireColumn.Hidden = True
    Columns("bv:cd").EntireColumn.Hidden = True
    Columns("ce:cm").EntireColumn.Hidden = True
    Columns("cw:de").EntireColumn.Hidden = True
    Columns("df:dn").EntireColumn.Hidden = True

    Case "3. Quartal"
    ' Blende alle Spalten ein
    ActiveSheet.Columns.Hidden = False
    ' Blende Spalten aus

    Columns("b:j").EntireColumn.Hidden = True
    Columns("k:s").EntireColumn.Hidden = True
    Columns("t:ab").EntireColumn.Hidden = True
    Columns("al:at").EntireColumn.Hidden = True
    Columns("au:bc").EntireColumn.Hidden = True
    Columns("bd:bl").EntireColumn.Hidden = True
    Columns("bv:cd").EntireColumn.Hidden = True
    Columns("ce:cm").EntireColumn.Hidden = True
    Columns("cn:cv").EntireColumn.Hidden = True
    Columns("df:dn").EntireColumn.Hidden = True

    Case "4. Quartal"
    ' Blende alle Spalten ein
    ActiveSheet.Columns.Hidden = False
    ' Blende Spalten aus
    Columns("b:j").EntireColumn.Hidden = True
    Columns("k:s").EntireColumn.Hidden = True
    Columns("t:ab").EntireColumn.Hidden = True
    Columns("au:bc").EntireColumn.Hidden = True
    Columns("bd:bl").EntireColumn.Hidden = True
    Columns("bm:bu").EntireColumn.Hidden = True
    Columns("ce:cm").EntireColumn.Hidden = True
    Columns("cn:cv").EntireColumn.Hidden = True
    Columns("cw:de").EntireColumn.Hidden = True


    Case Else
    ' Blende alle Spalten ein
    ActiveSheet.Columns.Hidden = False
    ' Blende Spalten A:JJ ein
    Columns("a:do").EntireColumn.Hidden = False

    End Select

    ' Setze den Cursor zurück auf "A1"
    Target.Select

    End If

    End Sub



    Nun würde ich wie gesagt gerne einen Code haben, der mir das Volumen wieder einblendet. Natürlich spezifisch für die einzelnen Quartale.

    Kann mir bitte jemand weiterhelfen?? Code optimieren :confused:Code optimieren :confused:

    Oder wäre ein Toggle-Button besser? Code optimieren :confused:Code optimieren :confused:
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    lajouliee, 29. Dezember 2018
    #1
  2. steve1da Office Guru
  3. Beverly
    Beverly Erfahrener User
    Hi,

    du kannst die zusammenhängenden Spalten auch zusammen ausblenden und die nicht zusammenhängenden mittels Befehl Union zusammenfassen - das verkürzt den Code schon um einiges. Für das 1. Quartal z.B. kannst du aus deinen 9 Zeilen diese 1 Zeile machen

    Code:
    Union(Columns("t:at"), Columns("bd:cd"), Columns("cn:dn")).EntireColumn.Hidden = True
    
    
    Bis später,
    Karin
     
  4. Code optimieren

    Vielen Dank für eure Hilfe!
     
    lajouliee, 31. Dezember 2018
    #4
Thema:

Code optimieren

Die Seite wird geladen...
  1. Code optimieren - Similar Threads - Code optimieren

  2. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  3. Code wird nicht komplett ausgeführt

    in Microsoft Excel Hilfe
    Code wird nicht komplett ausgeführt: Guten Morgen in die Runde! Situation: Dieser Code wird nicht komplett ausgeführt. es wird der Teil mit der Du Until Schleife übersprungen. Wenn ich aber mit Einzelschritte durch den Code gehe...
  4. Rabat Codes in einen Serienbrief einfügen

    in Microsoft Word Hilfe
    Rabat Codes in einen Serienbrief einfügen: Hi, Ich möchte bei einem Brief für meine Kunden eine Rabatcode einfügen. Diese sind zufällig erstellt und in Excel als Tabelle gespeichert. Wie bekomme ich diese nun so eingefügt das auf jedem...
  5. Combobox einbinden

    in Microsoft Excel Hilfe
    Combobox einbinden: Hallo, ich bastele an einer Funktion, bei der ich an einer Stelle im Programm eine Combobox aufrufen möchte, die dann mit bestimmten Werten aus einer Tabelle gefüllt ist und dann den gewählten...
  6. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  7. Liste mit VBA-Code erweitern/optimieren

    in Microsoft Excel Hilfe
    Liste mit VBA-Code erweitern/optimieren: Hallo, ich habe eine Planungsliste, wo mir letztes Jahr in diesem Forum schon sehr geholfen wurde mit der Programmierung von steve1da. Ich möchte gerne 2 Punkte bei diesem File erweitern: 1....
  8. Code optimieren, select weglassen

    in Microsoft Excel Hilfe
    Code optimieren, select weglassen: Hallo! Wie kann ich folgenden Code optimieren? Code: Sub findAttachment(actSheet As Worksheet) Dim lLastrow As Long Dim strRange As String Dim raC As Range Application.ScreenUpdating = False...
Schlagworte:
  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