Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ein-/Ausblenden vieler Blätter - suche Lösung

Ein-/Ausblenden vieler Blätter - suche Lösung
Wurstmensch
Servus liebe Herber-Gemeinde,
als stiller Leser bin ich hier schon mehrere Jahre dabei, und so manche Nuss habe ich mit eurer Hilfe schon knacken können. Jetzt stehe ich aber gerade so sehr auf dem Schlauch, dass ich meinen ersten eigenen Thread eröffnen muss :)
Ich möchte Folgendes erreichen: Für die Arbeit muss ich eine Tabelle stricken, mit deren Hilfe man eine Übersicht über den Jahresabschluss erstellen kann. Sie muss nachher auch von unbedarften Usern benutzt werden können. Ich bin wie folgt vorgegangen:
  • Der Jahresabschluss besteht aus einer Übersicht und einzelnen Konten. Jedes Konto wurde als ein eigenes Tabellenblatt angelegt. Die Namen der Blätter sind die Kontennummern, also 371000, 381000, 390050 etc.

  • Da die Jahresabschlüsse für verschiedene Firmen gemacht werden müssen, die auch jeweils unterschiedliche Konten benötigen, habe ich einfach die Konten aller Firmen als Blätter in meine Mappe eingefügt. Aus einem Steuerungs-Blatt heraus möchte ich nun auswählen können, welche Blätter angezeigt werden, und welche nicht.

  • Mein Ansatz war der, eine tabellarische Kontenübersicht nach dem Schema - Konto-Nr | Kontenbezeichnung - zu machen und vor jede Zeile eine Checkbox. Ist der Wert der Checkbox Wahr, dann wird das Blatt ein- und bei Falsch ausgeblendet. Bei 40+ Konten wird es aber ziemlich frickelig, für jede Checkbox eine eigene If-Schleife zu schreiben. Vielleicht habt ihr da ja eine bessere Lösung für mich. Es geht wie gesagt darum, möglichst bequem auszuwählen, welche Blätter angezeigt werden sollen. Ob das jetzt mit Checkboxen oder sonstwie passiert, ist mir wumpe.

  • Hier ein Screenshot meiner aktuellen Lösung:
    http://www38.zippyshare.com/v/44219246/file.html
    Und hier der VBA-Code hinter den Checkboxen:
    
    Private Sub CheckBox1_Click()
    Application.ScreenUpdating = False   'Schaltet den Bildschirm aus
    Blattname = Range("C5").Value
    If CheckBox1.Value = False Then
    Worksheets(Blattname).Visible = False
    Else
    Worksheets(Blattname).Visible = True
    End If
    Application.ScreenUpdating = True   'Schaltet den Bildschirm wieder ein
    End Sub

    Danke schonmal für evtl. Hilfe!

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: ListBox ?
    06.09.2011 16:15:44
    hary
    hallo
    wie waers mit einer ListBox. Eigenschaft auf Multiselect.
    einlesen zB.
    
    'hier ListBox in Tabelle1
    Dim wks As Worksheet
    ListBox1.Clear
    For Each wks In ThisWorkbook.Worksheets
    Sheets("Tabelle1").ListBox1.AddItem wks.Name
    Next
    

    einblenden mit zB.
    
    Dim x As Long
    With Sheets("Tabelle1").ListBox1
    For x = 0 To .ListCount - 1
    If .Selected(x) Then
    Sheets(.List(x)).Visible = True
    End If
    Next x
    End With
    

    Die fuer dich passenden Ereignisse musst du noch auswaehlen.
    gruss hary
    AW: besser so...
    06.09.2011 16:28:15
    hary
    Hallo nochmal
    zum fuellen
    
    'hier ListBox in Tabelle1
    Dim wks As Worksheet
    ListBox1.Clear
    For Each wks In ThisWorkbook.Worksheets
    If wks.Name  "Tabelle1" Then Sheets("Tabelle1").ListBox1.AddItem wks.Name
    Next
    

    zum einblenden
    
    Dim x As Long
    With Sheets("Tabelle1").ListBox1
    For x = 0 To .ListCount - 1
    Sheets(.List(x)).Visible = IIf(.Selected(x), True, False)
    Next x
    End With
    

    gruss hary
    Anzeige
    AW: Ein-/Ausblenden vieler Blätter - suche Lösung
    06.09.2011 16:51:17
    fcs
    Hallo Wurstmensch (was für ein Pseudonym ?),
    die Checkboxen würde ich komplett weglassen - hier relativ aufwendig in der Pflege der Datei.
    Das gute alte Ankreuzen ist hier immer noch 1. Wahl.
    Da kann man dann noch per Doppelklick oder im extremfall einfach per Zellselektion unterstützen.
    Hier eine Beispieldatei mit entsprechenden Makros.
    https://www.herber.de/bbs/user/76491.xls
    Bei der von Harry vorgeschlagenen Variante sollte man ggf. den aktuellen Sichtbar-Status bei der Anzeige der Listbox mit einlesen. Dass erspart bei Ergänzungen der Auswahl ggf. unnötige Klickarbeit.
    Gruß
    Franz
    Anzeige
    AW: Ein-/Ausblenden vieler Blätter - suche Lösung
    06.09.2011 18:25:31
    Wurstmensch
    Magst du meinen Namen nicht? Na gut, gegen Franz kann er in Sachen Originalität nicht anstinken, aber sonst... ;)
    Deine Lösung, lieber Franz, gefällt mir ausgesprochen gut. Wenn ich in VBA ein bisschen bewandter wäre, hätte ich es gleich so gemacht. Bin ein Freund von allem, was sich per Tastatur bedienen lässt - 1000 Checkboxen einzeln anhaken ist schlechter als ein paar "X" zu setzen. Danke für die Mühe.
    Die Variante von Hary wird morgen Früh ausprobiert - habe die Datei auf der Arbeit gelassen. Danke auch dir!

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige