Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten ein- und ausblenden via Button

Spalten ein- und ausblenden via Button
01.04.2014 15:28:05
Philipp
Hallo Liebes Forum,
ich bin bei der Erstellung einer Excel Datei auf ein Problem gestoßen.
Und zwar möchte ich auf Knopfdruck verschiedene Spalten ein- und ausblenden.
Leider habe ich bis jetzt keine Lösung für das Problem gefunden.
Die Vorlage meiner Datei habe ich zur besseren Übersicht beigefügt.
https://www.herber.de/bbs/user/89944.xlsx
Zur Info:
Die Spalten K - S (Datum) sowie
die Spalten T - AB (Betreff/Notiz) sollten per Knopfdruck ein- und ausblendbar sein!
Die Buttons sollen jeweils als Spaltenüberschrift genutzt werden können.
Kann mir da jemand behilflich sein?
Gruß
Philipp

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten ein- und ausblenden via Button
01.04.2014 15:38:54
Rudi
Hallo,
wozu hast du jeweils 9 Spalten für Datum / Bemerkungen?
Die Buttons sollen jeweils als Spaltenüberschrift genutzt werden können.
dann werden sie ja auch augeblendet. Wie willst du wieder einblenden?
Ich würde benutzerdefinierte Ansichten nehmen.
Gruß
Rudi

Anzeige
AW: Spalten ein- und ausblenden via Button
01.04.2014 15:45:30
Klaus
Ich würde benutzerdefinierte Ansichten nehmen.
Ich würd "Daten - Gruppieren" nehmen. Macht im Endeffekt genau das was der TE will und ist mit zwei Mausklicks erledigt.
Grüße,
Klaus M.vdT.

AW: Spalten ein- und ausblenden via Button
01.04.2014 16:16:01
Rudi
Hallo,
auch OK.
Der Zugriff ist schneller. Du brauchst nur eine Spalte für das +.
Gruß
Rudi

Anzeige
AW: Spalten ein- und ausblenden via Button
01.04.2014 16:19:42
Philipp
Nun bekomme ich den Laufzeitfehler '9' leider nicht korrigiert.
Es heißt: Der Index außerhalb des gültigen Bereichs.
Wie korrigiere ich das? In welchem Bezug steht "Index".
Bin völlig ahnungslos :-)

AW: Spalten ein- und ausblenden via Button
01.04.2014 15:40:49
Klaus
Hallo Phillip,
Für "K:S": Erstelle dir einen Button, und füge diesen Code ein:
Columns("K:S").Hidden = Not Columns("K:S").Hidden
das wars schon!
Für den anderen Bereich bekommst du das angepasst, oder?
Du musst dann natürlich als *.xlsm speichern, deine hochgeladene Datei ist ja eine *.xlsx
per Knopfdruck ein- und ausblendbar sein!
Die Buttons sollen jeweils als Spaltenüberschrift genutzt werden können.

Hier widersprichst du dir. Wenn der Button eine Spaltenüberschrift ist, dann wird er ja ausgeblendet. Wenn er ausgeblendet ist, kann er nicht zum wiedereinblenden genutzt werden ... denn du siehst ihn ja nicht, ergo kannst du ihn nicht klicken!
Alternative: Ein Button als Spaltenüberschrift zum ausblenden (jeweils pro Bereich), und einen Master-Button der alles wieder einblendet. Musst du wissen, wie du das gern hättest.
Achja: verzichte auf verbundene Zellen, damit machst du dir das Leben nur unnötig schwer. Benutze stattdessen "horizontal über Auswahl zentrieren" !
Grüße,
Klaus M.vdT.

Anzeige
AW: Spalten ein- und ausblenden via Button
01.04.2014 16:09:02
Philipp
Bei den Spaltenüberschriften habe ich mich etwas undeutlich ausgedrückt.
Habe jedoch einen VBA Code gefunden, jedoch zeigt es mir einen letzten Laufzeitfehler '9'
- Index außerhalb des gültigen Bereichs
Private Sub ToggleButton1_Click()
Dim TB As ToggleButton
Set TB = ToggleButton1
If TB.Value = True Then
TB.Caption = "Spalten einblenden"
Call SpaltenAusblenden
Else
TB.Caption = "Spalten ausblenden"
Call SpaltenEinblenden
End If
End Sub
Sub SpaltenAusblenden()
Sheets("Liste").Activate
Columns("K:S").EntireColumn.Hidden = True
End Sub Sub SpaltenEinblenden()
Sheets("Liste").Activate
Columns("K:S").EntireColumn.Hidden = False
End Sub
Anbei der VBA Code...Welcher Bezug hat der Index? Hat das was mit dem Dateinamen zu tun?
Danke für eure Hilfe.
Zur Info:
Die Datei soll als Kundendatei dienen und den Verhandlungsverlauf anzeigen.
Daher sind für Datum und Notizen mehrere Spalten geplant. Pro Kontaktaufnahme eine Spalte

Anzeige
AW: Spalten ein- und ausblenden via Button
01.04.2014 16:27:27
Klaus
Hallo Phillip,
davon abgesehen dass in deinem VBA-Code ein Zeilenumbruch zwischen "End SUb" und "Sub Spalte Einblenden" fehlt ...
Ich nehme an, du hast kein Blatt Namens "Liste", daher der Laufzeitfehler. Wenn du dort deinen richtigen Blattnamen einträgst, müsste der Code funktionieren - für einen Togglebutton! NICHT für einen Commandbutton! Es kann auch sein dass du gar keinen Togglebutton1 hast - auch das würde den Laufzeitfehler erklären.
Davon abgesehen das er funktioniert ist der Code aber völliger Murks. Wenn es unbedingt ein ToggleButton sein muss, dann so:
Private Sub ToggleButton1_Click()
Sheets("Liste").Columns("K:S").EntireColumn.Hidden = Not ToggleButton1
If ToggleButton1 then
ToggleButton1.Caption = "Einblenden"
else
ToggleButton1.Caption = "Ausblenden"
EndIf
End Sub

Ich persönlich halte ja nichts von ToggleButtons, ich find die nur umständlich.
Aber warum nimmst du nicht die oben vorgeschlagenen Alternativen (Gruppieren, Benutzerdefinierte Ansicht ...) die völlig ohne VBA auskommen?
Grüße,
Klaus M.vdT.

Anzeige
@Klaus
01.04.2014 16:43:07
Idefix
Hallo,
Es kann auch sein dass du gar keinen Togglebutton1 hast - auch das würde den Laufzeitfehler erklären.
Unwahrscheinlich.
Wie soll dann
Private Sub ToggleButton1_Click()

anspringen?
Gruß
Rudi

AW: @Klaus
01.04.2014 16:45:47
Klaus
Hallo Idefix :-)
Er könnte den ToggleButton-Code 1:1 aus dem Internet kopiert haben und mit F5 gestartet. Immerhin hat er auch kein Sheets("Liste") in seiner Datei und spricht es trotzdem an ...
Grüße,
Klaus M.vdT.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten ein- und ausblenden mit einem Button in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade deine Datei, in der du die Spalten ein- und ausblenden möchtest.

  2. Füge einen Button hinzu:

    • Gehe zu den Entwicklertools (falls diese nicht sichtbar sind, aktiviere sie über die Excel-Optionen).
    • Wähle das Steuerelement „Button“ aus und platziere es in deiner Tabelle.
  3. Füge VBA-Code hinzu:

    • Klicke mit der rechten Maustaste auf den Button und wähle „Code anzeigen“.
    • Füge folgenden Code ein, um die Spalten K bis S ein- und auszublenden:
      Sub ToggleSpalten()
       Columns("K:S").Hidden = Not Columns("K:S").Hidden
      End Sub
    • Schließe den VBA-Editor.
  4. Teste den Button: Klicke auf den Button in deiner Tabelle. Die Spalten K bis S sollten nun ein- und ausgeblendet werden.

  5. Speichere die Datei als .xlsm: Damit der VBA-Code funktioniert, musst du die Datei im Makro-fähigen Format speichern.


Häufige Fehler und Lösungen

  • Laufzeitfehler '9' - Index außerhalb des gültigen Bereichs:

    • Dieser Fehler tritt häufig auf, wenn im VBA-Code auf ein Tabellenblatt verwiesen wird, das nicht existiert. Stelle sicher, dass der Blattname korrekt ist.
  • Button wird ausgeblendet:

    • Wenn du den Button als Spaltenüberschrift verwendest, wird er ausgeblendet, wenn die Spalten versteckt werden. Nutze stattdessen einen Master-Button, der alle Spalten wieder einblendet.

Alternative Methoden

  • Benutzerdefinierte Ansichten:

    • Eine einfache Methode, um Spalten ein- und auszublenden, ist die Verwendung benutzerdefinierter Ansichten. Du kannst verschiedene Ansichten speichern und schnell zwischen diesen wechseln, ohne VBA zu verwenden.
  • Gruppieren von Bereichen:

    • Gehe zu „Daten“ und wähle „Gruppieren“. Damit kannst du Spalten schnell einklappen und wieder ausklappen, ohne einen Button zu benötigen.

Praktische Beispiele

  • Spalten ausblenden mit einem Button: Wenn du eine Tabelle mit vielen Daten hast, kannst du einen Button einfügen, der beim Klicken alle Spalten mit sensiblen Informationen ausblendet.

  • Ein- und Ausblenden von Zeilen: Der gleiche VBA-Code kann auch für Zeilen verwendet werden. Ändere einfach Columns("K:S") in Rows("1:10"), um die Zeilen 1 bis 10 ein- und auszublenden.


Tipps für Profis

  • Verwende ToggleButtons: ToggleButtons können verwendet werden, um den Status (ein- oder ausgeblendet) anzuzeigen. Setze den Code entsprechend um, um die Benutzererfahrung zu verbessern.

  • Vermeide verbundene Zellen: Verbundene Zellen können die Arbeit mit Buttons erschweren. Verwende stattdessen die Funktion „Horizontal über Auswahl zentrieren“.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten auf einmal ausblenden? Du kannst die Spalten in einer Zeile angeben, z.B. Columns("A:C,E:G").Hidden = True.

2. Was mache ich, wenn der Button nicht funktioniert? Stelle sicher, dass die Datei als .xlsm gespeichert ist und dass der VBA-Code korrekt eingegeben wurde. Überprüfe auch den Blattnamen im Code.

3. Kann ich auch Zeilen mit einem Button ausblenden? Ja, du kannst den gleichen Ansatz verwenden, indem du Rows("1:10").Hidden = True im VBA-Code einfügst.

4. Wie speichere ich meine Excel-Datei mit Makros? Wähle beim Speichern „Excel-Arbeitsmappe mit Makros“ (*.xlsm) aus, um sicherzustellen, dass dein VBA-Code erhalten bleibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige