Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsblatt wechseln

Arbeitsblatt wechseln
16.04.2007 13:34:00
Thomas
Hallo Freunde der Sonne
Ich hoffe jemand kann mir helfen
Ich habe eine Mappe mit 26 Tabellen und möchte mit einem click Button zwischen den Blättern wechseln. soweit so klar. Ich weiss das dies mit "ActiveWorkbook.Worksheets("Tabellen_Name").Activate" geht. Aber ich möchte in das letzte aktivierte Blatt springen. Ohne speziellen bezug auf den Tabellen Namen. Näher: ich kann auf Tabelle 4 von Tabelle 1, 2 und 3 aus mit einem Click Button hinkommen, nun möchte ich von Tabelle 4 aus mit einem Click Button dann wieder in die Tabelle 1, 2 oder 3 kommen von der aus ich in Tabelle 4 gelangt bin. sowas wie last sheet activate. Ich möchte in Tabelle 4 eben nur einen zurück Button und nicht 3 Buttons mit zurück in Tabelle 1, zurück in Tabelle 2 usw.
Ich hoffe ich habe mich verständlich ausgedrückt. Bin für jede Hilfe dankbar. Vielen Dank

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt wechseln
16.04.2007 13:56:00
harry
Hallo Thomas,
ich würde in der "Workbook_SheetActivate" Methode
folgenden Code platzieren:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("Hilfsblatt").Range("a2") = Sheets("Hilfsblatt").Range("a1")
Sheets("Hilfsblatt").Range("a1") = ActiveSheet.Name
End Sub


"Hilfsblatt" ist einfach ein unsichtbares Tabellenblatt, wo das aktuelle Blatt (in Zelle a1) und
das aufrufende Blatt (in Zelle a2) stehen.
Für deinen Schalter kannst Du dann den Namen des aufrufenden Blattes aus der Zelle a2 holen
Gruß
Harry

Anzeige
AW: Arbeitsblatt wechseln
16.04.2007 15:59:22
Thomas
Hallo Harry
Danke ich schau mal ob ich das hinbekomme und ob es dann auch geht

AW: Arbeitsblatt wechseln
16.04.2007 16:19:11
Thomas
So habe mal versucht Deine Idee umzusetzen. Ist nicht so von erfolg gekrönt. Ich konnte Deine Idee nicht so umsetzen wie ich es wollte. Hast du noch eine andere Lsg parat?

AW: Arbeitsblatt wechseln
16.04.2007 13:59:00
IngGi
Hallo Thomas,
dann musst du dir das bisherige Tabellenblatt in einer globalen Variable merken. Also:
In ein allgemeines Modul:

Option Explicit
Public WSalt As Worksheet

In das Modul des Tabellenblattes mit dem "Rücksprungbutton":


Private Sub CommandButton1_Click()
WSalt.Activate
End Sub

Und in das Modul von "DieseArbeitsmappe":


Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Set WSalt = Sh.Name
End Sub

Gruß Ingolf

Anzeige
AW: Arbeitsblatt wechseln
16.04.2007 15:53:00
Thomas
Danke für Deine Hilfe
ich habe deinen Code wie du ihn sehr verständlich für mich erklärt hast reinkopiert. Nun das _ ABER. Leider gibt es ein Problem. Wenn ich ihn durchlaufenlassen meldet er Laufzeitfehler 91. Er will eine Objektbezeichnung. Er hat Probleme mit der Anweisung

Private Sub CommandButton3_Click
WSalt.Activate
End Sub


Habe statt Button 1 Nummer 3 verwendet.
Kannst Du bitte nochmal Dir gedanken machen Danke

AW: Arbeitsblatt wechseln
16.04.2007 16:21:00
IngGi
Hallo Thomas,
wahrscheinlich erkennt er die Variable WSalt nicht. Folgende 3 Voraussetzungen müssen für die Variable erfüllt sein, damit er sie erkennt. Prüf das nochmal nach.
  • Die Variable muss in einem allgemeinen Modul deklariert werden. Füge ein neues Modul in deine Arbeitsmappe ein - im VBA-Editor mit Einfügen-Modul. In dieses Modul kopierst du die Zeile "Public WSalt As Worksheet".

  • Die Variable muss mit dem Schlüsselwort "Public" deklariert werden, also nicht mit "Private" oder "Dim".

  • Die Deklaration der Variablen muss am Anfang des Moduls stehen, d.h. vor dem ersten Sub / der ersten Function, die darin eventuell enthalten ist.

  • Gruß Ingolf

    Anzeige
    AW: Arbeitsblatt wechseln
    16.04.2007 16:43:19
    Thomas
    Hallo Ingolf
    Ich habe ein Modul in meiner Arbeitsmappe kreiert (Modul1, habe noch viele andere Module die heissen alle irgentwie). in dieses Modul habe ich die Zeile "Public WSalt As Worksheet" reingeschrieben. Dann in Diese Arbeitsmappe
    Option Explicit
    
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Set WSalt = Sh.Name
    End Sub
    


    reinkopiert
    und zum schluss in mein Arbeitsblatt

    
    Private Sub CommandButton3_Click()
    WSalt.Activate
    End Sub
    


    reingeschrieben
    Wenn ich jetzt auf meinen Button drücke dann sagt er "Objektvariable oder Withvariable nicht festgelegt (Laufzeitfehler 91)"
    Sicher habe ich noch irgentwo einen Fehler drin, nur wo?

    Anzeige
    AW: Arbeitsblatt wechseln
    16.04.2007 17:07:01
    IngGi
    Hallo Thomas,
    wenn du den Button gleich nach dem Öffnen der Arbeitsmappe drückst, dann hat er ja noch gar kein Blatt, auf das er zurückspringen kann. D.h. du müsstest dann erstmal ein anderes Blatt auswählen und von diesem wieder zurück auf dein Blatt mit dem Button. Wenn er sich das Rücksprungblatt vom letzten Öffnen her merken soll, dann könntest du z.B. das Rücksprungblatt immer beim Schliessen aktivieren. Dafür kopierst du folgende beiden Makros in das Modul von "DieseArbeitsmappe":
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    WSalt.Activate
    End Sub
    Private Sub Workbook_Open()
    Set WSalt = ActiveSheet
    End Sub
    

    Gruß Ingolf

    Anzeige
    AW: Arbeitsblatt wechseln
    16.04.2007 17:13:52
    Thomas
    Denkansatz gut, habe ich aber bedacht. Es ist so das er Die Arbeitsmappe mit der Tabelle "Startseite öffnet", immer. Ich kann zwischen den Tabellen nur mit Button gehen, Registerkarten sind ausgeblendet. Also weiter kann ich z.B. von Startseite zu einer Tabelle "Entwicklung" und von dort zur Tabelle "Risikomanagement" und dort ist dann der ominöse Button mit dem ich wieder zurück zu Entwicklung will. Ich kann aber auch zu risikomanagement über Tabelle Produktion und Tabelle Musterbau und Tabelle... . und von Risikomanagement immer zur richtigen zurück.
    Aber deine gerade erwähnten Vorschlag brauche ich auch für die Startseite, das stimmt. Aber nicht desto trotz bleibt der Fehler.
    Fällt Dir noch was ein?

    Anzeige
    AW: Arbeitsblatt wechseln
    16.04.2007 15:54:00
    michael
    Hi Thomas
    TabellenName
    links unten Pfeile-Rechte Maustaste
    lg michael

    AW: Arbeitsblatt wechseln
    16.04.2007 16:14:00
    Thomas
    Hallo Michael
    tut mir leid was meinst Du?

    AW: Arbeitsblatt wechseln
    16.04.2007 16:49:00
    Thomas
    Jetzt weiss ich was du meinst. Nee das geht nicht da ich die Blattregisterkarten ausblende. Man springt nur mit den Buttons zwischen den einzelnen Tabellen hin und her. Damit man immer ohne zu denken in der richtigen Tabelle landet.
    Danke trotzdem. Noch ein Vorschlag?

    AW: Arbeitsblatt wechseln
    17.04.2007 11:36:07
    Thomas
    Hallo Jungs und Mädels ich habe es. Ich habe gestern Abend noch etwas in meine Glaskugel geschaut und hier mein Ergebnis zum Arbeitsblattwechseln
    In die Arbeitsmappe
    
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    gstrLastSheet = Sh.Name
    End Sub
    


    In ein Modul
    Option Explicit
    Public gstrLastSheet As String

    
    Public Sub GoBack()
    If Len(gstrLastSheet) Then Sheets(gstrLastSheet).Activate
    End Sub
    


    und für den Button in der Tabelle
    Option Explicit

    
    Private Sub CommandButton3_Click()
    If Len(gstrLastSheet) Then Sheets(gstrLastSheet).Activate
    End Sub
    


    Damit kann ich in die zuletzt aktive Tabelle zurückspringen
    Danke an alle die mir geholfen haben mein Probelm zu lösen
    bei späteren Problemen hoffe ich wieder auf euch

    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige