8644
Goto Top

Excel 2000 - Mehrzeilige Blattregister

..geht das?

Hi,

ich glaube mich zu erinnern, daß man die Möglichkeit hat, die Blattregister mehrzeilig anzeigen zu lassen.
Bin mir aber nicht mehr sicher. Ich habe hier nämlich eine Arbeitsmappe mit ca. 60 Tabellenblättern und da wäre so eine Funktion schon hilfreich, habe aber leider nichts gefunden.
Hat jemand von Euch eine Idee?

Gruß

Psycho

Content-ID: 35503

Url: https://administrator.de/contentid/35503

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

8644
8644 06.07.2006 um 14:29:01 Uhr
Goto Top
Nach wirklich intensiver Suche bin ich zu dem Schluß gekommen, dass es wohl nicht geht.
Jetzt meine neue Idee:

Ich erstelle mir per Makro eine (oder mehr) Symbolleiste(n) und packe da per Schleife ausreichend Schaltflächen rein um alle Blätter ansteuern zu können. Soweit bin ich auch schon, obwohl ich nicht aus der VBA-Richtung komme! 8-)

Jetzt zu meinem neuen Problem:
Muß ich manuell für jedes Blatt ein Makro aller Sheets("Blabla1").Select erstellen, oder habe ich eine elegantere Möglichkeit, die Navigation an die Schaltflächen zu binden?

Ich hoffe, mich verständlich ausgedrückt zu haben!

Psycho
25110
25110 06.07.2006 um 15:08:53 Uhr
Goto Top
Oder ganz ohne VBA:

Unten Links in der Excel-Tabelle sind 4 Pfeil-Symbole.
Rechtklick darauf, alle Register werden angezeigt und können angewählt werden.

mfg
8644
8644 06.07.2006 um 15:13:34 Uhr
Goto Top
Hi bussi,

danke für die Antwort! Die Möglichkeit kannte ich schon, ist aber nur sehr bedingt befriedigend, da hier maximal 14 Blätter angezeigt werden und man dann auf Weitere oder so ähnlich klicken muß! Mir wäre es ja egal, soll aber so benutzerfreundlich wie möglich werden.

Psycho
8644
8644 06.07.2006 um 18:49:56 Uhr
Goto Top
So, ich habs folgendermaßen gelöst:

Der Name Auto_Open wurde gewählt, um das Makro beim Start auszuführen.
Das hat den Vorteil, dass auch Änderungen aktualisiert werden.

Sub Auto_Open()
 Dim I_Sheets As Integer 'Die Variable für die Anzahl der Blätter'  
  Set CB = Application.CommandBars.Add(Name:="Navigation", _  
    temporary:=True, Position:=msoBarTop) 'Die Leiste wird erstellt und oben ausgerichtet'  
   CB.Visible = True 'Anzeigen der Leiste'  
    For I_Sheets = 1 To Sheets.Count 'Soviele Buttons wie Blätter'  
     Set CBC = CB.Controls.Add(Type:=msoControlButton) 'Neuer Button'  
      With CBC
         .Style = msoButtonCaption 'Beschrifteter Button'  
         .Caption = Sheets(I_Sheets).Name 'Selber Text, wie Blattname'  
         .OnAction = "Wechsel" 'Was soll beim Klicken passieren (Makroname)'  
      End With
    Next I_Sheets
End Sub

Beim Schließen wird die Leiste wieder gelöscht, damit sie nur in der jeweiligen Tabelle gültig ist

Sub Auto_Close()
    On Error Resume Next
    Application.CommandBars("Navigation").Delete 'Wenn's klappt - löschen'  
End Sub

Der Blattwechsel wird hier durchgeführt

Sub Wechsel()
 Dim s As String
 s = Application.CommandBars.ActionControl.Caption 'Buttonbeschriftung = Blattname'  
 Sheets(s).Select 'Blatt aufrufen'  
End Sub

Für weitere Erklärungen einfach nochmal fragen 8-)

Psycho
25110
25110 07.07.2006 um 07:54:19 Uhr
Goto Top
Hallo Psycho

Das ist was für die Praxis, kann der ein oder andere sicher auch gut gebrauchen – Danke.

Eine Frage hab ich noch zu Deiner Lösung:
Ich hab einen ähnlichen Effekt wie bei der von mir angegebenen Möglichkeit.
Es werden in der Symbolleiste nur soviel Blätter angezeigt, wie in eine Zeile passen.
Ich kann zwar Einstellen Extras > Anpassen > Optionen > in 2 Zeilen anzeigen, wird aber nicht übernommen. Wenn ich auf Extras > Anpassen gehe, wird die Symbolleiste sofort in mehreren Zeilen angezeigt, sobald ich das Options-Fenster schließe, wird wieder nur eine Zeile angezeigt. Gibt es da eine Möglichkeit? Oder bin ich zu blöd und übersehe irgendeine Winzigkeit?

Gruß - bussi
8644
8644 07.07.2006 um 08:00:10 Uhr
Goto Top
Moin bussi,

das Einzige, was mir dazu bis jetzt eingefallen ist, war es die Anzahl der Blätter durch 2 zu teilen und dann halt 2 Symbolleisten zu erstellen. Ich bin mir aber sicher, dass es dazu auch noch eine bessere Lösung gibt. Die suche ich aber noch - wie gesagt, VBA ist nicht wirklich meine Richtung. Wenn ich was gefunden habe, poste ich es hier.

Psycho
25110
25110 07.07.2006 um 08:07:08 Uhr
Goto Top
Hallo Psycho,

ok, trotzdem Danke. Deine Lösung ist schon Gut. Jetzt bekommst Du erstmal ein paar Sterne.

Gruß - bussi