Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
460to464
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
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

activesheet.name<->worksheet_deactivate

activesheet.name<->worksheet_deactivate
29.07.2004 16:28:15
gse
hallo liebe forumgemeinde,
wenn ich von einem registerblatt zum anderen (bsp tabelle1 zu tabelle2 navigiere), und im vba die sub worksheet_deactivate in tabelle1 implementiert habe, wird diese sub jedesmal durchlaufen, egal von wo ich komme. ich würde erwarten, dass die routine nur dann durchlaufen wird, wenn ich von sheet tabelle1 zu tabelle2 navigiere. aber weit gefehlt, die routine wird immer durchlaufen, egal von wo nach wo ich will. ich habe dann das problem, dass ich mit
st_activesheet = ActiveSheet.Name
nicht den namen des sheet bekomme, dass ich gerade verlassen habe, sondern das wo ich gerade hin will (also tabelle2)!?!
weiss jemand rat, wie ich den feststellen kann auf welchem sheet ich mich gerade befinde? ich bin grad am verzweifeln........ !;)
freue mich auf ratschläge, tipps, hinweise jeder art!
gse
(aka guenter sigfried eugen)

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

Betreff
Datum
Anwender
Anzeige
AW: activesheet.name<->worksheet_deactivate
29.07.2004 16:46:38
ANdreas
Hallo Guenter,
Du hast 2 Alternativen.
Wie Du richtig festgestellt hast, wird beim Worksheet_Deactivate wenn Du das Activesheet abfragst bereits das neu aktivierte referenziert.
1. Alternative: Du nutzt zusätzlich das Worksheet_Activate Ereignis und merkst Dir in diesem das Actrivesheet in z.B. einer globalen Variable. Diese kannst Du dann beim Worksheet_Deactivate Ereignis abfragen.
2. Alternative: Du nutzt ausschließlich das

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dieses steht im Klassenmodul "DieseArbeitsmappe".
Folgendes gibt Dir im Parameter das Sheet an, welches Du gerade verlässt:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub

Hoffe das hilft weiter,
Andreas
Anzeige
immer wieder das angesteuerte sheet
29.07.2004 17:32:59
gse
hallo andreas,
herzlichen dank für Deinen tipp. leider liefert mir die routine im klassenmodul zum workbook auch nur den namen des angesteuerten sheets. ich möchte aber von dem sheet von dem ich ausgehe (hier tabelle1) aus der aktiven zeile den wert a(aktivezeile) mitnehmen, damit ich im ziel-sheet danach suchen kann und gfls. eine fehlermeldung ausgeben kann, wenn kein eintrag gefunden wird.
im übrigen scheint die prozedur Workbook_SheetDeactivate(ByVal sh As Object) auch je nach dem von wo man kommt, mehrfach bzw. nur einmal durchlaufen zu werden!?
huiiii.... ich glaub ich brauch grad mal nen klimawechsel! ;)
Dir (und dem ganzen rest;))noch einen schönen feierabend!
grus
gse
(aka guenter sigfried eugen)
Anzeige
AW: immer wieder das angesteuerte sheet
30.07.2004 09:38:21
ANdreas
Hallo Guenter,
hm das ist aber seltsam. Ich hoffe nicht dass es evtl. an Excel97 liegt.
Wenn ich jedenfalls bei Excel2002 folgenden Code ins Klassenmodul "DieseArbeitsmappe" eintragen, gibt er mir beim Wechsel zw. Tabellenblättern, das Blatt aus, welches ich gerade verlasse - also genau das was Du willst.

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub

Versuchs bitte nochmal. Ansonsten bleibt Dir dann die erste Alternative, die aber auch Tücken hat - zum Beispiel wenn das Tabellenblatt umbenannt wird ;)
Gruß
Andreas
Anzeige
Sub Workbook_SheetDeactivate
30.07.2004 18:22:10
gse
hi andreas,
vorweg, herzlichen Dank für Deine Antwort! Vielleicht liegt der Grund ja auch in meinem CODING versteckt!;) Kannst Du mir vielleicht noch sagen, wann genau die Sub
Workbook_SheetDeactivate
im Klassenmodul der Arbeitsmappe durchlaufen wird, beim "Debuggen" hatte ich den Eindruck, dass das nicht immer gleich ist.
gruss
gse
(aka guenter sigfried eugen)
AW: Sub Workbook_SheetDeactivate
30.07.2004 20:13:26
ANdreas
Hallo Guenter,
trag meinen Code doch einfach ein und probiere es. Jedesmal wenn Du von einem Tabellenblatt zu einem anderen wechselst in dieser Mappe, wird das Ereignis ausgeführt.
Einzige Ausnahme ist, wenn Du die Events deaktiviert hast. (Application.EnableEvents)
Gruß
Andreas
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige