Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Auswahldialogbox
#1
Hallo, 

Ich habe ungefähr 80 Arbeitsblätter in einer Arbeitsmappe. Da man zur Bearbeitung dieser Datei nicht immer alle Arbeitsblätter benötigt, bin ich auf der Suche nach einer benutzerfreundlichen Hilfe zur besseren Übersicht . Dabei stelle ich mir eine Auswahldialogbox vor, in der alle Arbeitsblätter aufgelistet sind und per Haken ausgewählt werden können. Die nicht ausgewählten Arbeitsblätter sollen ausgeblendet und nur die mit Haken versetzten Arbeitsblätter eingeblendet werden.

Hat hier vielleicht jemand eine Idee. 

Vielen Dank
Antworten Top
#2
Hilft das:
https://www.clever-excel-forum.de/Thread...#pid236897

Gruß Uwe
Antworten Top
#3
Hi,

eine Alternative:

Zunächst alle vorhandenen Blätter in einem Tabellenblatt auflisten (im Beispiel in Spalte A ab A2).

Code:
Sub Blätter_auflisten()
Dim x As Long
For x = 1 To ThisWorkbook.Worksheets.Count
    Cells(x + 1, 1) = Worksheets(x).Name
Next x
End Sub


In Spalte B markierst Du nun die einzelnen Blätter, die sichtbar sein sollen, mit einem x (das Blatt mit der Auflistung der einzelnen Blätter sollte immer sichtbar bleiben).

Dann lass diesen Code laufen bzw. weise ihn einem Button zu:

Code:
Sub ein_ausblenden()
Dim wS As Worksheet
For Each wS In ThisWorkbook.Worksheets
    wS.Visible = WorksheetFunction.VLookup(wS.Name, Range("A:B"), 2, 0) = "x"
Next wS
End Sub
Antworten Top
#4
@ Boris
Sorry für die späte Rückmeldung.

Vielen Dank. Es ist genau das, nachdem ich gesucht habe.

Das Makro funktioniert wie gewünscht.

Allerdings habe ich nun das Problem, dass ich nicht mit der Zelle A2 beginnen möchte sondern mit B10 (=Name der Arbeitsblätter) und C10 (x").
Meine Anpassungen des Codes scheitern leider.

Wie muss ich den Code anpassen? Könntest du mir nochmal helfen ?

Viele Grüße und Danke im Voraus
Antworten Top
#5
Hi,

dann so:

Code:
Sub Blätter_auflisten()
Dim x As Long
For x = 1 To ThisWorkbook.Worksheets.Count
    Cells(x + 9, 2) = Worksheets(x).Name
Next x
End Sub

Sub ein_ausblenden()
Dim wS As Worksheet
For Each wS In ThisWorkbook.Worksheets
    wS.Visible = WorksheetFunction.VLookup(wS.Name, Range("B:C"), 2, 0) = "x"
Next wS
End Sub
Antworten Top
#6
Klasse

Smile

Vielen Dank
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste