MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 31.07.2012, 10:12   #1
Grumfordel
Neuer Benutzer
Neuer Benutzer
Standard Excel2007 - Mit activate auf Kriegsfuss

Hallo,

ich habe (wieder mal) Verständnisprobleme mit Worksheet.Activate. Ich lade eine Excel-Datei (Excel 2007, die Datei ist aber 2003-kompatibel) und erwarte das Workbook.open- und das Worksheet.activate-Ereignis.
Das Open-Ereignis tritt ein, aber nicht das Activate-Ereignis.

Hier meine Codes, zunächst "Diese Arbeitsmappe":
Code:

Private Sub Workbook_open()
  
MsgBox "Workbook_open"
Tabelle1.Select

End Sub
Und hier "Tabelle1":
Code:

Private Sub Worksheet_activate()

MsgBox "Worksheet_activate"

End Sub
Mein Problem ist, dass ich beim Öffnen der Excel-Datei die Meldung "Workbook_open" bekomme, aber nicht die Meldung "Worksheet_activate". Was mache ich falsch?

Dankbar für jeden Hinweis
Manfred
Grumfordel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.07.2012, 10:51   #2
EarlFred
MOF Guru
MOF Guru
Standard

Hallo Manfred,

solange Tabelle1 das aktive Blatt der Mappe ist, löst ein erneutes "Activaten" das Ereignis nicht aus.

Wenn ein Code, der in einer Ereignisprozedur steht, auch von "außen" aufgerufen werden soll, würde ich den betreffenden Code in eine separate Sub auslagern und diese dann in Deinem Fall sowohl beim Aktivieren des Worksheets als auch beim Öffnen der Mappe aufrufen.

Etwas abenteuerlich geht's auch so:
(1)
Deklariere das Ereignis Worksheet_Activate nicht als Private:
Code:

Sub Worksheet_Activate()
MsgBox "Worksheet_Activate"
End Sub
Aufruf aus dem Open-Ereignis dann wie folgt:
Code:

Tabelle1.Worksheet_Activate
(Die Sub sollte schon beim Schreiben von "Tabelle1." mit Intellisense angezeigt werden)

(2)
Belasse die Sub als Private und nutze folgenden Aufruf aus dem Open-Ereignis:
Code:

Application.Run ThisWorkbook.Name & "!Tabelle1.Worksheet_Activate"
Beiden "Krücken" würde ich die Auslagerung der Codezeilen in eine andere Sub (ggf. mit Prüfung, dass diese nur unter bestimmten Umständen anläuft) allerdings vorziehen.

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 8 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,054% per 13.08.2019) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.07.2012, 13:10   #3
Grumfordel
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred,

vielen Dank für deine ausführliche Antwort. Ich werde nun ebenfalls die von dir vorgeschlagene "saubere" Lösung anwenden.
Mir war nicht bewusst, dass in Excel nach dem open- kein activate-Ereignis erfolgt. Ich meine, beim "grossen Bruder" Visual Basic ist das so.
Jedenfalls danke für die Hinweise.

Gruss
Manfred
Grumfordel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.07.2012, 13:18   #4
EarlFred
MOF Guru
MOF Guru
Standard

Hallo Manfred,

Zitat:

dass in Excel nach dem open- kein activate-Ereignis erfolgt

das ist so nicht richtig und wurde von mir auch nicht behauptet!

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 8 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,054% per 13.08.2019) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.