Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wechsel der Tabellenblätter

Wechsel der Tabellenblätter
Sascha
Hallo,
hat jemand eine Idee wie man einen Wechsel zwischen drei bestimmten Tabellenblätter (sind mehr vorhanden) hinbekommt. Es soll in einer Excel-Liste in der Ansicht zwischen drei Tabellenblättern alle 10 Sekunden gewechselt werden und dies soll den ganzen Tag laufen!.
Grund: Diese Excelliste wird auf einen großen Bildschirm übertragen und soll dort die entsprechenden Werte darstellen.
Gruß und Danke
Sascha
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Wechsel der Tabellenblätter
15.09.2010 15:15:09
Matthias
Hallo Sascha,
man kann Makros zeitgesteuert ablaufen lassen. (findest du im Forum irgendwo)
und dann Worksheet("Tabelle1").Select.
Gruß Matthias
Automatisches Blattwechsel-Intervall
15.09.2010 15:32:25
NoNet
Hallo Sascha,
den Blattwechsel kannst Du mit folgendem VBA-Code realisieren (Bitte in ein allgemeines Modul, z.B. "Modul1" kopieren) :
'Automatischer Blattwechsel nach 10 Sekunden
'Schleife über alle angegebenen Blätter bis zum STOPP !
'15.09.2010, NoNet - www.excelei.de
Public dblZeit As Double
Public strSheet
Public lngSheet As Long
Public lngIntervall As Long
Sub WechselStarten()
'Mit diesem Makro wird der automatische Blattwechsel gestartet !
'Namen der zu wechselnden Blätter - bitte anpassen !
strSheet = Array("Tabelle1", "Tabelle2", "Tabelle3")
lngIntervall = 10 'Intervall in 10 Sekunden - bitte anpassen !
dblZeit = Now + TimeSerial(0, 0, lngIntervall)
Application.OnTime dblZeit, "BlattWechseln"
End Sub
Sub WechselStoppen()
'Mit diesem Makro wird der automatische Blattwechsel gestoppt !
Application.OnTime dblZeit, "Wechseln", schedule:=False
End Sub
Sub BlattWechseln()
'Mit diesem Makro wird der Blattwechsel durchgeführt !
lngSheet = lngSheet + 1
If lngSheet > UBound(strSheet) Then lngSheet = LBound(strSheet)
Sheets(strSheet(lngSheet)).Activate
dblZeit = Now + TimeSerial(0, 0, lngIntervall)
Application.OnTime dblZeit, "BlattWechseln"
End Sub
Die Namen der Tabellenblätter und das Intervall (in Sekunden) kannst Du noch anpassen !
Gruß, NoNet
Anzeige
AW: Automatisches Blattwechsel-Intervall
15.09.2010 16:09:50
Sascha
Hallo,
das funktioniert super! Vielen Dank.
Vielleicht noch eine Frage. Wie bekomme ich es hin, das dieses Makro automatisch bei öffnen der Excelliste startet?
Liebe Grüße
Sascha
Makro automatisch beim Öffnen starten
15.09.2010 16:26:32
NoNet
Hallo Sascha,
damit das Makro automatisch nach dem Öffnen der Mappe gestartet wird, muss der Aufruf im Ereignismakro Workbook_Open() (im Klassenmodul "DieseArbeitsmappe" !!) erfolgen :
Kopiere den folgenden Code in das Klassenmodul "DieseArbeitsmappe" :
Private Sub Workbook_Open()
WechselStarten
End Sub
Userbild
Gruß, NoNet
Anzeige
AW: Makro automatisch beim Öffnen starten
15.09.2010 16:34:54
Sascha
Hallo,
hat auch super funktioniert.
Danke
Sascha
;
Anzeige
Anzeige

Infobox / Tutorial

Automatischer Wechsel zwischen Tabellenblättern in Excel


Schritt-für-Schritt-Anleitung

Um den automatischen Wechsel zwischen Tabellenblättern in Excel zu realisieren, kannst du ein VBA-Makro verwenden. Folge diesen Schritten:

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

  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)".
    • Wähle Einfügen > Modul.
  3. Kopiere den folgenden VBA-Code in das neue Modul:

    'Automatischer Blattwechsel nach 10 Sekunden
    Public dblZeit As Double
    Public strSheet
    Public lngSheet As Long
    Public lngIntervall As Long
    
    Sub WechselStarten()
       strSheet = Array("Tabelle1", "Tabelle2", "Tabelle3") ' Namen der zu wechselnden Blätter
       lngIntervall = 10 ' Intervall in Sekunden
       dblZeit = Now + TimeSerial(0, 0, lngIntervall)
       Application.OnTime dblZeit, "BlattWechseln"
    End Sub
    
    Sub WechselStoppen()
       Application.OnTime dblZeit, "Wechseln", schedule:=False
    End Sub
    
    Sub BlattWechseln()
       lngSheet = lngSheet + 1
       If lngSheet > UBound(strSheet) Then lngSheet = LBound(strSheet)
       Sheets(strSheet(lngSheet)).Activate
       dblZeit = Now + TimeSerial(0, 0, lngIntervall)
       Application.OnTime dblZeit, "BlattWechseln"
    End Sub
  4. Speichere das Modul und schließe den VBA-Editor.

  5. Füge den Aufruf zum automatischen Starten des Makros hinzu:

    • Klicke im Projekt-Explorer auf "DieseArbeitsmappe".
    • Füge den folgenden Code in das Klassenmodul ein:
    Private Sub Workbook_Open()
       WechselStarten
    End Sub
  6. Speichere die Datei als Makro-fähige Datei (*.xlsm).

  7. Öffne die Datei erneut, damit das Makro automatisch startet.


Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt

    • Stelle sicher, dass die Datei als *.xlsm gespeichert ist.
    • Überprüfe die Excel-Sicherheitseinstellungen und aktiviere Makros.
  • Fehler: Tabellenblätter werden nicht gewechselt

    • Prüfe, ob die angegebenen Tabellennamen korrekt sind und existieren.
  • Fehler: Intervall funktioniert nicht

    • Achte darauf, dass das Intervall in Sekunden korrekt definiert ist.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die Excel-Blatt wechseln Tastenkombination verwenden:

  • Strg + Page Up: Wechselt zum vorherigen Tabellenblatt.
  • Strg + Page Down: Wechselt zum nächsten Tabellenblatt.

Diese Methode ist jedoch nicht automatisiert und erfordert manuelles Eingreifen.


Praktische Beispiele

Angenommen, du hast drei Tabellenblätter: "Verkauf", "Kunden", "Produkte". Du kannst das oben genannte VBA-Skript verwenden und die Namen entsprechend anpassen:

strSheet = Array("Verkauf", "Kunden", "Produkte")

Das Skript wechselt dann automatisch alle 10 Sekunden zwischen diesen Blättern.


Tipps für Profis

  • Nutze sekundenschleifen, um den Wechsel zwischen Tabellenblättern noch flexibler zu gestalten. Du kannst das Intervall im Code anpassen, um die Zeit zwischen den Wechseln zu verkürzen oder zu verlängern.
  • Verwende Debugging im VBA-Editor, um den Code zu testen und anzupassen, falls du auf unerwartete Probleme stößt.

FAQ: Häufige Fragen

1. Wie kann ich die Zeit zwischen den Wechseln anpassen?
Ändere den Wert von lngIntervall im WechselStarten-Sub.

2. Kann ich mehr als drei Blätter einfügen?
Ja, füge einfach die Namen der zusätzlichen Tabellenblätter in das Array strSheet ein.

3. Was muss ich tun, damit das Makro nicht mehr läuft?
Füge den WechselStoppen-Sub an eine Schaltfläche oder einen Shortcut, um den automatischen Wechsel zu stoppen.

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