Office: Mit CommandButton zu ausgewähltem Tabellenblatt wechseln

Helfe beim Thema Mit CommandButton zu ausgewähltem Tabellenblatt wechseln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Ich habe eine Tabelle mit fortlaufend nummerierten Blätter. Über eine Drehfeld soll in Zelle A1 die Nummer eines Tabellenblattes eingestellt werden... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Thorbln, 19. Juni 2009.

  1. Thorbln
    Thorbln Erfahrener User

    Mit CommandButton zu ausgewähltem Tabellenblatt wechseln


    Ich habe eine Tabelle mit fortlaufend nummerierten Blätter.
    Über eine Drehfeld soll in Zelle A1 die Nummer eines Tabellenblattes eingestellt werden auf dass dann mittles Commandbutton gesprungen wird.
    Wie müsste der Code aussehen damit CommandButton1 den Wert aus Zelle A1 übernimmt und dann zu dem Blatt wechselt?
    Danke im Voraus
     
    Thorbln, 19. Juni 2009
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Worksheets(Range("A1")).Select
     
    Hajo_Zi, 19. Juni 2009
    #2
  3. Thorbln
    Thorbln Erfahrener User
    Danke für die Antwort
    leider kommt es bei mir nur zu einer Fehlermeldung
    ich arbeite mit xp Sp3 exel 2002. vielleicht liegt es daran.
     
    Thorbln, 19. Juni 2009
    #3
  4. miriki Erfahrener User

    Mit CommandButton zu ausgewähltem Tabellenblatt wechseln

    Ich tippe mal auf einen Index-Fehler... Der würde dann auftreten, wenn der Wert in A1 nicht 100%ig einem Blattnamen entspricht.

    Wenn in A1 z.B. eine "5" steht, dann muß auch ein Blatt mit dem Namen "5" existieren. Ein Blatt namens "Tab5" würde nicht helfen, zumindest nicht mit obigem, einzeiligen Code.

    Ich drösel das mal ein bißchen auf:

    Damit aktiviert man ein Blatt, holt es also "in den Vordergrund":
    Code:
    worksheets(s).activate
    Hiermit liest man einen Wert aus einer Zelle aus und speichert ihn in einer Variablen zwischen:
    Code:
    s = activesheet.cells(1,1).value
    'oder alternativ
    s = activesheet.range("a1").value
    Und wenn man noch was "dazupacken" muß:
    Code:
    s = "Tab" & s
    Das ganze zusammen also:
    Code:
    s = activesheet.range("a1").value ' z.B. "5"
    s = "Tab" & s ' aus "5" wird "Tab5"
    worksheets(s).activate ' Blatt "Tab5" wird aktiviert
    Tückisch bei dieser ganzen Methode sind Leerzeichen! Achte also bitte auch darauf, daß insbesondere die Blattnamen nicht noch ein Leerzeichen am Ende haben. Das passiert nämlich zu gerne. Was man nicht sieht, ist ja auch nicht da... ;-)

    Gruß, Michael
     
    miriki, 19. Juni 2009
    #4
  5. Thorbln
    Thorbln Erfahrener User
    Danke. Klappt 1a
    Allerdings mit einem Haken.
    Ohne "s = "Tab" & s " nimmt Exel 2002 die ausgelesene Zahl als nr des Tabellenblattes. D.h. Exel nummeriert die blätter durch. Der Wert 5 entspricht nicht dem Blatt mit dem Namen 5 sondern dem fünften Blatt von links.
    Es funktioniert nur wenn man mit "s = "" & s " arbeitet. Dann nimmt Exel den ausgelesenen Wert als Text und nicht mehr als Zahl.
     
    Thorbln, 19. Juni 2009
    #5
  6. miriki Erfahrener User
    Yup, das "typecasting" schlägt dann zu. Ist der ausgelesene Wert eine Zahl, "rät" Excel mal, nicht ganz unverständlich, auf eine numerische Variable. Dein "workaround" zwingt Excel, die Zuweisung als String durchzuführen. Etwas "stilvoller" vielleicht wäre die Benutzung einer Funktion, die den Zellinhalt direkt als String zurückliefert:
    Code:
    s = trim$(activesheet.cells(1,1).value)
    Neben der erzwungenen Umwandlung auf einen String entfernt diese Funktion auch gleich noch Leerzeichen am Anfang und Ende des Zellwerts.

    Aber Dein "Trick" funktioniert durchaus auch, ja...

    Gruß, Michael
     
    miriki, 29. Juni 2009
    #6
  7. Thorbln
    Thorbln Erfahrener User
    Danke für die Info.
    Code sieht nun folgendermaßen aus und funktioniert einwandfrei.

    Private Sub CommandButton1_Click()
    s = Trim$(ActiveSheet.Range("e2").Value)
    Worksheets(s).Activate
    End Sub

    Tabellenblätter dürfen keine Leerzeichen in den Namen enthalten, sonnst funktioniert es nicht
     
    Thorbln, 30. Juni 2009
    #7
Thema:

Mit CommandButton zu ausgewähltem Tabellenblatt wechseln

Die Seite wird geladen...
  1. Mit CommandButton zu ausgewähltem Tabellenblatt wechseln - Similar Threads - CommandButton ausgewähltem Tabellenblatt

  2. Code läuft mit F8 durch, beim CommandButon nicht

    in Microsoft Excel Hilfe
    Code läuft mit F8 durch, beim CommandButon nicht: Hallo, wer könnte mir weiter helfen. Beim Bedienen mit F8 läuft der Code. Mit dem CommandButton kommt der Fehler bei Zeile: ActiveSheet.Range("D1").AutoFilter Field:=4, Criteria1:="=*" &...
  3. commandbutton fließend auf dem Tabellenblatt einrichten

    in Microsoft Excel Hilfe
    commandbutton fließend auf dem Tabellenblatt einrichten: Hallo zusammen. Habe mal eine wahrscheinlich einfachen Frage. Ich richte einen CommandButton auf einem Tabellenblatt in EXCEL ein. Nun möchte ich, dass dieser Button immer in der gleichen Position...
  4. Ein Fall für VBA... oder nicht?

    in Microsoft Excel Hilfe
    Ein Fall für VBA... oder nicht?: Hallo zusammen, ich habe eine schwierige Nuss zu knacken. Ich habe eine Tabelle, bei der immer 1 von 3 Werten (Bewehrt, Stahlfaser, Walzbeton) ausgewählt werden muss. Wie kann ich es...
  5. VBA CommandButton einblenden abhängig von Eintrag in Zeile

    in Microsoft Excel Hilfe
    VBA CommandButton einblenden abhängig von Eintrag in Zeile: Hallo Leute, nachdem ich fleißig VBA geübt habe und schon komplett eigene Codes erfolgreich zum Laufen gebracht habe (Dank der Hilfe hier!), stoße ich nun doch wieder an eine Grenze. Ich habe...
  6. Änderung Schaltflächenfarbe beim Anklicken

    in Microsoft Excel Hilfe
    Änderung Schaltflächenfarbe beim Anklicken: Hallo zusammen. Ich habe folgende Frage: Auf meinem Arbeitsblatt werden Zellen durch Anklicken von Schaltflächen, auf denen Makros hinterlegt sind, mit Nachnamen befüllt. Die Schaltflächen sind...
  7. CommandButton Farbe bei Klick ändern

    in Microsoft Excel Hilfe
    CommandButton Farbe bei Klick ändern: Guten Morgen, und wieder eine Anfängerfrage. Ich habe in einer UserForm einen CommandButton. Wenn ich den anklicke, soll sich seine Hintergrundfarbe ändern (Bsp. rot auf grün). Wie kann ich das...
  8. Mit Command Button Link in Zelle öffnen

    in Microsoft Excel Hilfe
    Mit Command Button Link in Zelle öffnen: Hallo zusammen, ich bin auf der Suche nach einer VBA Funktion wo der Command Button eine Bestimmte Zelle anklicken soll wo sich ein Link befindet. [Command Button] -> Zelle A5...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden