Ereignis beforeclose
11.10.2023 09:27:00
Haderlein
in der Zelle A2 gibt es eine Dropdown-Auswahl mit Jahreszahlen (2022,2023,2024 usw.). Sobald der User diese ändert wird der Code ausgeführt, funktioniert soweit. Nun möchte ich allerdings, dass der Code auch ausgeführt werden, bevor die Arbeitsmappe geschlossen wird. Daher wäre meine Idee:
'Steht in Diese Arbeitsmappe, damit ändere ich per Code den Zellinhalt und löse damit den eigentlichen Code aus
Option Explicit
Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Kapa-Planung").Range("A2").Value = "2023"
End Sub
'Im Arbeitsblatt "Kapa-Planung" steht folgendes:
Option Explicit
Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Speicher As Variant
If Target.Address = "$A$2" Then
Speicher = Target.Value
Application.EnableEvents = False
Application.Undo -Hier kommt der Fehler
Call Sichern
Target.Value = Speicher
Application.EnableEvents = True
Call Past
End Sub
Bei "Application.Undo" kommt folgender Fehler: "Die Methode Undo für das Objekt "_Application" ist fehlgeschlagen.
Ich glaube es hängt damit zusammen, dass ich den Wert nicht per Dropdown ändere, sondern per Skript. Ändere ich den Wert über das Dropwnfeld, dann funktioniert das Skript wie gewünscht. Was muss ich tun?
Vielen Dank.