Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Auswahlmenü Spalten ausblenden und wieder einblenden?





Frage

Hallo zusammen, ich bin auf der Suche nach Lösungsansätzen für ein Auswahlmenü in einer Excel Tabelle, über das ich unterschiedliche Spaltenbereiche ausblenden und auch wieder einblenden kann. Also z.B. Spalten A bis E und J bis M sollen ausgeblendet werden. Danach wieder alle Spalten einblenden, anderen Spaltenbereich ausblenden, z.B. D bis F und K bis V usw. Ich habe hier im Forum bereits gesucht, bin aber noch nicht fündig geworden. Hat irgendjemand das schonmal realisiert und wenn ja, wie? Da es um ca. 6-7 verschiedene Spaltenbereiche einer großen Tabelle geht, habe ich das mit einzelnen Schaltflächen und der Zuordnung von Makros gelassen, da viel zu unübersichtlich... Für jede Hilfe dankbar MfG nightdream [b] [/b]

Antwort 1 von piano

Hallo
Ich schlage vor, schon mit Makros zu arbeiten, aber eine benutzerdefinierte Symbolleiste zu verwenden - bei mehreren Makros empfiehlt sich ein Menü mit beutzerdefinierten Menüelementen
Variante 1 mit variabler Bereichswahl(hier genügen 2 Benutzerdefinierte Schaltflächen):
Sub Ausblenden()
Dim Bereich
On Error GoTo ErrAus
    Cells.Select
    Selection.EntireColumn.Hidden = False
    Bereich = InputBox("Bereich eingeben (C:F[,H:I]...)")
    If Bereich = "" Then GoTo Ende
    Range(Bereich).Select
    Selection.EntireColumn.Hidden = True
    GoTo Ende
ErrAus:
    MsgBox "Bitte korrekten Bereich eingeben"
Ende:
End Sub

Sub Einblenden()
Dim Adr
    Adr = ActiveCell.Address
    Cells.Select
    Selection.EntireColumn.Hidden = False
    Range(Adr).Select
End Sub

 

Variante 2 mit fixer Bereichswahl (je Bereich ein Makro lt. Muster + Einblenden von oben):
 Sub Aus1()
Dim Bereich
    Bereich = "C:G,J:K"
    Cells.Select
    Selection.EntireColumn.Hidden = False
    Range(Bereich).Select
    Selection.EntireColumn.Hidden = True
End Sub


Wenn Du Fragen zu benutzerdefinierten Symbolleisten hast, melde Dich nochmals!
Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von nightdream

Hallo piano,

vielen Dank für diesen Lösungsvorschlag. Ich kenne mich mit benutzerdefinierten Menüleisten leider nicht aus. Mir scheint Variante 1 der richtige Weg zu sein. Allerdings weiß ich nicht wie ich das umsetzen kann. Meine Vorstellung davon sieht so aus: Über die Combobox wähle ich eines der Makros über den Namen aus: Makro A ( z.B. nur Bereich D bis F und K bis N ausblenden). Das Makro B blendet einen anderen, nicht zusammenhängenden Spaltenbereich aus, usw. Mit einer Schaltfläche ist das Makro zum einblenden aller Spalten verbunden, so daß ich im Grunde 2 benutzerdefinierte "Schaltflächen" habe.
Das mit der Inputbox möchte ich aus Gründen der Übersicht nicht favorisieren. Hier erscheint es mir leichter das einzelne Makro anzupassen, wenn die Tabelle es erfordert. Außerdem sollen auch Kollegen von mir mit dieser Tabelle arbeiten können, die nicht unbedingt mit dieser Vorgehensweise vertraut sind.

Wäre nett, wenn Du, oder sonst ein netter Mensch hier in diesem Forum mir da weiterhelfen könnte.

Danke

Gruß
nightdream

Antwort 3 von piano

Hallo
1. wenn fixe Bereiche, dann doch Variante 2 !
Keine Angst vor der benutzerdefinierten Menüleiste:
Geht ganz einfach:
Die Makros vorher schon anlegen!
Menü Ansicht - Symbolleisten - Anpassen
im Register Symbolleisten Neu wählen und Name (z. Bsp. EinAusblenden ) eingeben.
Dann erscheint ein kleines Kästchen als leere Symbolleiste.
im Register Befehle die Kategorie Makros wählen.
Dann gibt es 2 Möglichkeiten: (Menü oder Symbol)
Ich empfehle jetzt Symbol, da offensichtlich nur 3 Makros benötigt werden (Makro A, B und "Alles einblenden").
Das Symbol Benutzerdefinierte Schaltfläche für jeden Makro (3 x) mit linker Maustaste in die neue Symbolleiste ziehen.
Es erscheinen nun 3 Smilies in der neuen Symbolleiste.
Für jeden Makro folgende Prozedur (Fenster Anpassen / Befehle ist noch aktiv):
Smily anklicken, Auswahl ändern und nun Name ändern, dann entweder Schaltflächensymbol oder nur Text wählen und anschließend Makro zuweisen.

Viel Spass und einfach ausprobieren!

Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Aliba

Hi nightdream,

ich bin jetzt nicht so der VBA-Spezi, helfe mir aber bei ähnlichen Gegebenheiten immer so:

Zuerst erstelle ich über ANSICHT - ANPASSEN für jede Möglichkeit eine benutzerdefinierte Ansicht.
Die normale Ansicht darf man da nicht vergessen, also z.B. für die normale Ansicht : Alles
dann für alle anderen Ansichten einen Namen vergeben.
Nun nehme ich mir eine Zelle, z.B. A1 und verpass dieser Zelle über DATEN - GÜLTIGKEIT - Liste eine Gültigkeit als Dropdownliste. Bei Liste trägst Du die Namen Deiner Ansichten ein:
Alles;AnsichtA;AnsichtB;AnsichtC;usw..
Nun benötigst Du noch ein Makro:

Sub anpassen()

Dim Ansicht
Ansicht = ActiveSheet.Range("$A$1").Text

ActiveWorkbook.CustomViews(Ansicht).Show
End Sub


Dann noch eine Befehlsschaltfläche, der Du dieses Makro zuweist.

Nun kannst Du in A1 per Dropdown die Ansicht auswählen und dann über einen Button zu der Ansicht wechseln.


CU Aliba

Antwort 5 von nightdream

Hallo Jungs,

vielen Dank erstmal. Komme leider erst jetzt dazu, die Vorschläge mal auszuprobieren, anzupassen usw. Melde mich aber ganz bestimmt.

MfG
nightdream

Antwort 6 von nightdream

Hallo Aliba und piano,

habe die Lösung mit den benutzerdefinierten Schaltflächen umgesetzt, allerdings gefällt mir nicht, dass dieses Menü grundsätzlich geöffnet ist. Gibt´s ne Einstellung in Excel 2003 für den dateibezogenen Einsatz?

Danke nochmals an alle Helferlein

Gruß
nightdream

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: