EXCEL Tabellenblatt fixieren?
Ich habe in EXCEL 2007 eine Arbeitsmappe mit ca 20 Tabellenblättern und ein Tabellenblatt ("Inhaltsverzeichnis")das ich stets "griffbereit" haben möchte, es soll also fixiert sein, auch wenn ich auf die Tabellenblätter weiter rechts klicke.
der VBA Code
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sheets(Sh.Index - 1).name <> "Tabelle1"
Sheets("Tabelle1").Move Before:=Sheets(Sh.Index)
Sheets(Sh.Index).Activate
Else
Sheets(Sh.Index).Activate
End If
End Sub
den ich bei der Recherche fand hat nichts gebracht. Was tun?
Was heißt "nichts gebracht"? Passiert gar nichts?
genau, es passiert gar nichts.
4 Antworten
Bei mir kommt direkt erstmal ein Syntaxfehler.
Beim If fehlt ein Then.
Füge ich es ein, funktioniert der Code wie von dir angedacht.Du musst natürlich im VBA-Code noch "Tabelle1" durch "Inhaltsverzeichnis" ersetzen.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sheets(Sh.Index - 1).Name <> "Tabelle1" Then _
Sheets("Tabelle1").Move Before:=Sheets(Sh.Index)
Sheets(Sh.Index).Activate
End Sub
Du hast höchstens noch ein Problem, wenn du das erste Blatt anklickst, weil dann auf ein nicht existentes Element zugegriffen wird.
Ein bisschen optimiert:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If (Sh.Index = 1) Then
Tabelle1.Move Before:=Sh
ElseIf (Sheets(Sh.Index - 1).Name <> Tabelle1.Name) Then
Tabelle1.Move Before:=Sh
End If
Sh.Activate
End Sub
Wenn das Blatt als INDEX fungiert, warum dann von Hand nach rechts klicken ?
Auf meinem Index klicke ich den Blattnamen irgend eines weiteren Sheets.
Dieses wird dann sichtbar gemacht (.visible = true) und angesprungen.
Auf diesem Sheet gibt es den "Hyperlink" zurück zum Index.
Klicke ich diesen wird das sichtbare Sheet verlassen (Index aktiviert) und dann auch wieder .visible = false gestellt. So ist das Excel Workbook immer aufgeräumt.
Für Wartungszwecke gibt es einen knopf, der ALLE Sheets sichtbar (unsichtbar) stellen kann. (Außer das INDEX Sheet)
Wenn Du jeweils beides sehen willst, Inhalt des jeweiligen Tabellenblattes und die Inhaltsübersicht, lege für die Inhaltsübersicht eine Sep. Excel-Datei an. Dann kannst Du Dir beides parallel ansehen.
du könntest auf jeweils auf die IVZ Spalten verweisen und die dann fixieren. Dann brauchst kein VBA
Das habe ich gemacht. Könntest du mir den Code wie er bei dir funktioniert hier nochmal schreiben?