Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

alle Tabellen "links oben" anzeigen

Forumthread: alle Tabellen "links oben" anzeigen

alle Tabellen "links oben" anzeigen
05.07.2013 13:51:46
Thms
Hallo Forum,
ich habe folgenden Code gefunden, um alle Tabellen links oben anzeigen zu lassen, nachdem die Datei geöffnet wurde:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollRow = 1
End Sub
Eigentlich sollte das funktionieren? Ich habe einige Tabellenblätter ausgeblendet und vermute, dass ich diese irgendwie umgehen muss?
Beste Grüße
Thomas

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Code bezieht sich nur auf AKTIVIERTE Blätter
05.07.2013 14:07:11
NoNet
Hallo Thomas,
der Code wird immer dann ausgeführt, wenn ein Blatt aktiviert wird - und das ist nur bei sichtbaren Blättern möglich !
Weiterhin gehört der Code in das Klassenmodul "DieseArbeitsmappe" im VBA-Editor !
Eine Alternative, bei der auch der Zellzeiger gleich mit in Zelle A1 wandert, wäre dieser Code (Ebenfalls in "DieseArbeitsmappe") :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.Goto Range("A1"), True
End Sub
Gruß, NoNet
Exceltreffen 11.-13.10.2013 in Duisburg
http://www.exceltreffen.de/index.php?page=230
Es sind noch genügend Plätze für Interessenten frei - schau doch mal rein !

Anzeige
AW: Code bezieht sich nur auf AKTIVIERTE Blätter
05.07.2013 14:36:01
Thms
Hallo NoNet,
danke für Deine Hilfe!
"Weiterhin gehört der Code in das Klassenmodul "DieseArbeitsmappe" im VBA-Editor !" Ja, da hab ich ihn drin.
Ersetzt mit deinem Code. Aber jetzt bekomme ich einen "Laufzeitfehler 1004: Die Methode "Range" für das Objekt "_Global" ist fehlgeschlagen".
Was ist Ursache dafür?
Beste Grüße
Thomas

Anzeige
Evtl. Diagrammblatt enthalten ?
05.07.2013 14:50:32
NoNet
Hallo Thomas,
dieser Fehlermeldung deutet daraufhin, dass noch andere Blätter ausser Arbeitsblättern (WorkSheets) in Deiner MAppe enthalten sind, z.B. auch Diagrammblätter o.ä.
In solchen Blättern kann Zelle A1 logischerweise nicht akitivert werden, da es dort keine "Zellen" gibt (z.B. in einem Diagrammblatt).
Mit folgendem ergänzten Code kannst Du explizit überprüfen, ob es sich um ein WorkSheet handelt, und nur DANN die Zelle A1 aktivieren :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Type = xlWorksheet Then Application.Goto Range("A1"), True
End Sub
Gruß, NoNet
Hast Du Interesse, andere Excel-Begeisterte kennenzulernen ? - Dann komme zum
Exceltreffen 11.-13.10.2013 in Duisburg

http://www.exceltreffen.de/index.php?page=230
Es sind noch genügend Plätze für Interessenten frei - schau doch mal rein !

Anzeige
AW: Evtl. Diagrammblatt enthalten ?
05.07.2013 14:56:01
Thms
Hallo NoNet,
ja, es gibt Diagramme etc.!
Mit dem Code funktioniert es! Super!
Herzlichen Dank für die Hilfe!
Gruß
Thomas

richtig aktivieren, so...
05.07.2013 14:55:42
EtoPHG
Hallo Thomas,
So sollte das 'immer' funktionieren:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Type = xlWorksheet Then Application.Goto Sh.Range("A1"), True
End Sub

Gruess Hansueli
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Alle Tabellen links oben anzeigen in Excel


Schritt-für-Schritt-Anleitung

Um alle Tabellen in Excel links oben anzuzeigen, nachdem die Datei geöffnet wurde, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass bei der Aktivierung eines Tabellenblatts der Fokus auf Zelle A1 gesetzt wird.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Suche im Projektfenster nach "DieseArbeitsmappe" deiner Datei.

  3. Doppelklicke auf "DieseArbeitsmappe", um das Codefenster zu öffnen.

  4. Füge folgenden Code ein:

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
       If Sh.Type = xlWorksheet Then Application.Goto Sh.Range("A1"), True
    End Sub
  5. Schließe den VBA-Editor und speichere deine Datei als .xlsm (Makro-fähige Arbeitsmappe).

  6. Teste den Code, indem du zwischen den Arbeitsblättern wechselst.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt auf, wenn versucht wird, auf Zelle A1 eines Diagrammblatts zuzugreifen. Stelle sicher, dass der oben angegebene Code nur für Arbeitsblätter ausgeführt wird, indem du die If Sh.Type = xlWorksheet Bedingung verwendest.

  • Code nicht wirksam: Überprüfe, ob der Code im richtigen Modul (DieseArbeitsmappe) eingefügt wurde. Der Code funktioniert nur, wenn er sich im Klassenmodul der Arbeitsmappe befindet.


Alternative Methoden

Wenn du eine andere Methode ausprobieren möchtest, um alle Tabellen anzuzeigen, kannst du die Excel-Register seitlich anzeigen:

  1. Klicke mit der rechten Maustaste auf ein beliebiges Registerblatt.
  2. Wähle „Registerblatt einblenden“ oder „Registerblätter nebeneinander anzeigen“, um die Sichtbarkeit der Tabellen zu ändern.

Alternativ kannst du auch die Excel-Tabelle anzeigen, indem du die Ansicht anpasst, sodass alle relevanten Blätter sichtbar sind.


Praktische Beispiele

Ein praktisches Beispiel für die Verwendung der oben genannten Methoden ist die Verwaltung von Finanzdaten in Excel. Wenn du mehrere Tabellenblätter hast, die verschiedene Monate oder Kategorien darstellen, kannst du den VBA-Code verwenden, um schnell auf die Zusammenfassungsdaten auf Zelle A1 zuzugreifen, ohne durch alle einzelnen Tabellen blättern zu müssen.

Wenn du mit Diagrammblättern arbeitest, kannst du die Überprüfung des Blatt-Typs nutzen, um sicherzustellen, dass der Code nur auf Arbeitsblätter angewendet wird.


Tipps für Profis

  • Benennung der Tabellenblätter: Nutze aussagekräftige Excel Tabellennamen, damit du die Tabellen schneller identifizieren kannst.
  • Makros optimieren: Teste deinen VBA-Code regelmäßig, um sicherzustellen, dass er in verschiedenen Excel-Versionen funktioniert.
  • Einstellungen anpassen: Stelle die Excel-Optionen so ein, dass die Arbeitsblätter immer nebeneinander angezeigt werden, um die Navigation zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich alle Tabellen in einem Excel-Dokument gleichzeitig einblenden?
Du kannst alle Arbeitsblätter gleichzeitig einblenden, indem du im VBA-Editor einen Loop schreibst, der alle Blätter durchläuft und sie einblendet.

2. Gibt es eine Möglichkeit, die Excel Tabellenblätter nebeneinander anzuzeigen?
Ja, du kannst die Ansicht so anpassen, dass mehrere Arbeitsblätter nebeneinander angezeigt werden. Gehe dazu zu „Ansicht“ und wähle „Nebeneinander anzeigen“.

3. Wie kann ich die Excel Tabelle anzeigen, ohne den VBA-Editor zu verwenden?
Du kannst die Ansichtseinstellungen in Excel nutzen, um die benötigten Tabellenblätter direkt auszuwählen und anzuzeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige