Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
592to596
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
592to596
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Blättern

VBA Blättern
31.03.2005 11:32:34
niki
Hallo zusammen,
Meine frage an das forum wäre die, wie ein makro aussieht, um ein (bzw) 2 schaltflächen das vor und zurück blättern in einer mappe zuzuweisen...
Ich hab also am unteren blattrand zwei schaltflächen (am ersten und letzten blatt der mappe nur eines), welche mit "vor" und "zurück" beschriftet sind...wie muss der code lauten, damit in die zelle a1 des nächsten blattes gewechselt wird? und wie muss er für a1 zurück lauten?
Müssen diese beiden codes in einem Modul oder in jedem arbeitsblatt eingefügt werden...?
Ich bitte und danke um Hilfe...
P.S.: An th.heinrich vielen Dank für seine Lösung von vor Ostern..

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Blättern
31.03.2005 11:45:35
Tobias
Servus!
Du musst das in jeder Excel-Datei einfuegen:

Private Sub CommandButton1_Click()
wbcnt = Worksheets.Count
If wbcnt <> 1 Then Worksheets(wbcnt - 1).Activate
If wbcnt = 1 Then MsgBox ("Sie sind schon am Anfang der Arbeitsmappe angekommen!")
End Sub
Private Sub CommandButton2_Click()
wbcnt = Worksheets.Count
Worksheets(wbcnt + 1).Activate
End Sub

Gruss

Tobias
AW: VBA Blättern, frage an Tobias
31.03.2005 12:00:00
niki
Zuerst gleich danke für die rasche antwort..."in jede ExcelDatei" einfügen, meinst du damit jedes einzelne arbeitsblatt?...
Bin leider echt kein vba kenner...aber brauchs trotzdem manchmal...das sind ja 2 codes, getrennt durch End Sub , also ist das hier der code für zurück blättern

Private Sub CommandButton1_Click()
wbcnt = Worksheets.Count
If wbcnt <> 1 Then Worksheets(wbcnt - 1).Activate
If wbcnt = 1 Then MsgBox ("Sie sind schon am Anfang der Arbeitsmappe angekommen!")
End Sub

und dieser fürs vor blättern...

Private Sub CommandButton2_Click()
wbcnt = Worksheets.Count
Worksheets(wbcnt + 1).Activate
End Sub

Könntest du her auch eine msgbox einbauen? keine Ahnung warum ,aber bei mir funktioniert das hganze nicht ,kann der grung sein das command button bei mir halt schaltfläche heisst? sollt doch egal sein oder?
Vielleicht hast noch ein wenig zeit, danke
Anzeige
AW: VBA Blättern, frage an Tobias
31.03.2005 12:07:48
Tobias
Servus!
Also wenn Command_Button1 bei dir Schaltfläche1 heisst, musst du das natuerlich aendern, sonst geht garnix. Ansonsten hast dus richtig erkannt, der erste Code ist fuer zurueck, der zweite fuer vor. WOzu brauchst du denn eine zweite MsgBox? Ich seh darin irgendwie keinen Sinn...
Nein, du musst zwar auf jedes Arbeitsblatt die Buttons draufmachen, aber den Code nur einmal pro Workbook einfuegen, egal, wieviele Tabellen drin sind.
So, jetz geh ich ersma essen, bin ab 12:45 wieder da!
Gruss

Tobias
AW: VBA Blättern, Mahlzeit erst mal...
31.03.2005 12:23:09
niki
...vielleicht gehts sichs später aus, dass mir noch mehr erklärst...
Ich füge also beide codes in die arbeitsmappe ein, nicht in das blatt...dann füge ich in das blatt (in der normalen ansicht, nicht im editor), zwei schaltflächen ein, denen ich normalerweise immer ein makro zuordnen kann...das funktioniert jetzt bei diesen codes aber nicht...schade....was mach ich falsch?
Anzeige
AW: VBA Blättern, frage an Tobias
31.03.2005 12:21:20
Uduuh
Hallo,
Der Code von Tobias ist definitiv falsch!
Mit Code 1 wird immer das vorletzte Blatt angesprungen. Code 2 verursacht immer einen Fehler, da ein nicht existierendes Blatt (Anzahl der Blätter+1) angesprungen werden soll.
Wenn deine Buttons 'Schaltfläche' heißen, hast du Buttons aus der Symbolleiste Formular eingefügt.
In ein Modul:

Sub vor()
if activesheet.index=worksheets.count then
msgbox "Du bist schon hinten"
else
sheets(Activesheet.index+1).activate
end if
End Sub


Sub zurueck()
if activesheet.index=1 then
msgbox "Du bist schon vorne"
else
sheets(Activesheet.index-1).activate
end if
End Sub

Rechtsklick auf deine Buttons und die Makros entsprechend zuweisen.
Gruß aus'm Pott
Udo

Anzeige
AW: VBA Blättern, frage an Tobias
31.03.2005 12:24:44
niki
danke dir sehr, hab mich nicht mehr auskennt!!! jetzt passts, suoer.
AW: VBA Blättern, frage an Tobias
31.03.2005 12:37:52
Tobias
Hmpf...
Da hab ich dummerweise Index und Count verwechselt. @ Udo: Bei mir is im Moment das Problem, dass meine Excel-Installation von irgendsonem bloeden Update verhunzt wurde und nicht mehr startbar ist. Deswegen muss ich alles, was ich hier beantworte, untested reinstellen.
Gruss

Tobias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige