Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1096to1100
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
Inhaltsverzeichnis

OnSheetActivate??

OnSheetActivate?
Bernhard
Hallo
Ich möchte gerne, dass wenn ich innerhalb einer Excel 2007 Arbeitsmappe ein Tabellenblatt anwähle, ein Makro ausgeführt wird.
Ein solcher Makro ist bereits vorhanden, muss jedoch immer manuell gestartet werden, was ich mit dem OnSheetActivate Makro automatisieren möchte.
Irgendwie geht das aber nicht und ich verstehe nicht wieso.
Kann mir jemand helfen?
Danke!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: OnSheetActivate?
14.08.2009 14:52:12
Jan
Hi,
wie ich sehe, ist dein Code fehlerhaft.
mfg Jan
AW: OnSheetActivate?
14.08.2009 14:52:28
Hajo_Zi
Hallo Bernhard,
benutze Private Sub Workbook_SheetActivate(ByVal Sh As Object)
unter DieseArbeitsmape.

AW: OnSheetActivate?
14.08.2009 15:08:21
Bernhard
Hallo
Vielen Dank für die schnelle Antwort :o)
Da kann ich ja gleich versuchen das Problem zu lösen.
Ich weiss nicht, wo ich dieses "Private Sub Workbook_SheetActivate(ByVal Sh As Object)" einfügen muss. Muss ich das entsprechende Register anwählen und dann unter Code anzeigen den Code einfügen?
Es ist nun so, dass ich bei der Hälfte der TAbellenblätter das Makro A und der anderen Hälfte der Tabellenblätter das Makro B ausführen muss.
Kannst du mir da noch einmal helfen?
Danke!
Anzeige
Workbook_SheetActivate
14.08.2009 19:16:07
Erich
Hi Bernhard,
Die Ereignisprozedur Workbook_SheetActivate gehört zur Arbeitsmappe (Workbook kommt ja im Namen vor).
Mit Alt+F11 kommst du (von Excel aus) in den VBA-Editor.
Dort wird (hoffentlich) links der Projekt-Explorer angezeigt (wenn nicht: Strg+R drücken).
Wenn du im Projekt-Explorer unter der betreffenden Mappe auf "DieseArbeitsmappe" doppelklickst
(oder Klick mit rechter Maustaste - Code anzeigen), wird rechts das leere Modul zur Arbeitsmappe angezeigt.
Das hat Hajo auch ganz kurz geschrieben.
Oberhalb der weißen Fläche für den Code findest du zwei DropDown-Listboxen:
(Allgemein) und (Deklarationen)
Wenn du bei (Allgemein) jetzt Workbook auswählst, erscheint
Private Sub Workbook_Open()  ...  End Sub
Das kannst du löschen.
Wenn du jetzt die rechte Listbox (Deklarationen) aufklappst, erscheint da eine Liste der Ereignisprozeduren
zu Workbook. Da kannst du dann Workbook_SheetActivate auswählen.
Danach beginnt jetzt das Programmieren...
Noch zwei Fragen vorab:
a) Um wie viele Blätter geht es?
b) Wie kann man im Programm die beiden Hälften der Tabellenblätter unterscheiden (am Namen, an der Position)?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Workbook_SheetActivate
15.08.2009 15:35:26
Bernhard
Hallo Erich
Vielen Dank für deine Erklärungen, ich bin sehr froh darum und eben mit der VBA Programmierung nicht so vertraut.
Zu deinen Fragen:
Es sind insgesamt 12 Tabellenblätter
Jedes der Tabellenblätter die mit dem Namen "1 ..." beginnen, müssen den Makro "TotalAuszahlung" aufrufen.
All jene Tabellenblätter, die mit "2 ..." beginnen, müssen den Makro "Leistung" aufrufen.
Bislang habe ich auf jedem der 12 Blätter einen Button, der den jeweiligen Makro aufruft. Gegebenenfalls könnte ich es auch so lassen. Eleganter wäre es ja schon, wenn mit dem Anwählen des Registers der Makro automatisch aufgerufen werden könnte.
Kannst du mir noch einmal einen Tipp geben?
Mit Dank
Bernhard
Anzeige
AW: OnSheetActivate?
15.08.2009 07:32:01
Hajo_Zi
Hallo Bernhard,
ich hatte eindeutig geschrieben unter DieseArbeitsmappe, das bedeutet nicht unter der Tabelle und auch nicht in einem Modul.
Gruß Hajo
AW: OnSheetActivate?
15.08.2009 15:46:43
Gerd
Hallo Bernhard!
'Ins Modul DieseArbeitsmappe
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Left$(Sh.Name, 1) = "1" Then
Call Totalauszahlung
ElseIf Left$(Sh.Name, 1) = "2" Then
Call Leistung
End If
End Sub
Gruß Gerd
AW: OnSheetActivate?
15.08.2009 16:10:33
Bernhard
...viiielen Dank, hat geklappt! :o)
ist echt nett!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige