EXCEL Tabellenblatt fixieren?

Was heißt "nichts gebracht"? Passiert gar nichts?

genau, es passiert gar nichts.

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker - Anwendungsentwicklung

Das habe ich gemacht. Könntest du mir den Code wie er bei dir funktioniert hier nochmal schreiben?

0
@FragenstellerYZ
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
0
@Suboptimierer

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
1

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.

Woher ich das weiß:eigene Erfahrung

du könntest auf jeweils auf die IVZ Spalten verweisen und die dann fixieren. Dann brauchst kein VBA