Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro nach Aktivieren des Tabellenblattes nur 1 mal ausführen
#1
Hallo,

ich möchte das folgende Makro nur 1 mal bei jedem erneuten Aktivieren des Tabellenblattes ausführen. Was muss ich dem Code hinzufügen?
Ich bin bis jetzt leider nicht fündig geworden  :22:


Private Sub Worksheet_Activate()
On Error Resume Next
Selection.AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("C5")), Operator:=xlAnd, Criteria2:="<=" & CDbl(Range("F5"))
End Sub


Danke im Voraus,

wauzi
Antworten Top
#2
Hallo

Probieres bitte mal so:  ganz oben mit Public eine Variable festlegen, die sich notiert wenn das Blatt aktiviert wurde.


mfg Gast 123


Code:
Public Blatt As String

Private Sub Worksheet_Activate()
If Blatt <> Empty Then Exit Sub
Blatt = ActiveSheet.Name
On Error Resume Next
Selection.AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("C5")), Operator:=xlAnd, Criteria2:="<=" & CDbl(Range("F5"))
End Sub
Antworten Top
#3
Hallo,

also: habe soeben getestet:

Public Blatt As String
Private Sub Worksheet_Activate()
If Blatt <> Empty Then Exit Sub
Blatt = ActiveSheet.Name
ActiveSheet.Unprotect Password:="8784"
On Error Resume Next
 Selection.AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("C5")), Operator:=xlAnd, Criteria2:="<=" & CDbl(Range("F5"))
ActiveSheet.Protect Password:="8784", AllowFormattingCells:=True
End Sub

Funktion leider nicht gegeben: Vielleicht muss ich noch ausführlicher werden. Sobald die Tabelle angewählt wird soll einmalig berechnet werden. Wechsle ich zur anderen, ändere, und aktiviere ich wieder dieses besagte Tabellenblatt so soll wiederum neu berechnet werden. 

gruß, wauzi
Antworten Top
#4
Hallo wauzi,

ich verstehe Dein Problem nicht, weil Worksheet_Activate ja nur einmal beim Aktivieren des Blattes ausgeführt wird.  Huh

Gruß Uwe
Antworten Top
#5
Hallo Wauzi,

willst Du Dein Makro beim Aktivieren des Blattes oder beim Öffnen ausführen?

Wie Uwe schreibt, wird Dein Makro natürlich nur einmal ausgeführt, allerdings jedesmal, wenn Du das Blatt anklickst. Willst Du es wirklich nur einmal ausführen, egal wie häufig Du es anklickst, wäre das Öffnen der Datei der bessere Zeitpunkt, oder?

Gruß,
Lutz
Antworten Top
#6
Hallo,

eigentlich will ich das Makro nur beim Öffnen des Tabellenblattes ausführen. Ich hätte gelesen, dass das Makro permanent ausgeführt wird solange dieses Blatt aktiv ist. Ok, das war dann wohl eine falsche Aussage. Gut, dann alles OK, 

DANKE


gruß,


wauzi
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste