Erzwingen, dass ein Makro ausgeführt wird, wenn ein Arbeitsblatt neu berechnet wird (Microsoft Excel)
Wenn Sie ein Makro schreiben, kann es ausgeführt werden, wann immer Sie es ausführen möchten. Was ist, wenn Sie ein Makro entwickeln müssen, das ausgeführt wird, wenn sich etwas in Ihrem Arbeitsblatt ändert? Was ist, wenn das Makro automatisch ausgeführt werden soll? Dies ist insbesondere erforderlich, wenn Sie eine benutzerdefinierte Funktion erstellen, die Sie in den Zellen des Arbeitsblatts verwenden möchten.
Hier bietet sich die Volatile-Methode an. Sie müssen lediglich die folgende Anweisung in Ihr Makro aufnehmen:
Application.Volatile
Dadurch wird Excel darüber informiert, dass die Ergebnisse des Makros von den Werten im Arbeitsblatt abhängen und dass sie bei jeder Neuberechnung des Arbeitsblatts ausgeführt werden sollten. Betrachten Sie beispielsweise die folgende benutzerdefinierte Funktion:
Function CountCells(MyRange As Range) Dim iCount As Integer iCount = 0 For Each cell In MyRange If cell.HasFormula Then iCount = iCount + 1 End If Next cell CountCells = iCount End Function
Wenn diese Funktion in einer Zelle verwendet wird, zählt sie die Anzahl der Zellen, die Formeln innerhalb eines bestimmten Bereichs enthalten. Die Funktion wird jedoch nur ausgeführt, wenn sie zum ersten Mal in eine Zelle eingegeben wird oder wenn die Zelle mit der Formel bearbeitet wird. Wenn Sie möchten, dass die Funktion jedes Mal neu berechnet wird, wenn das Arbeitsblatt neu berechnet wird, fügen Sie die Volatile-Methode am Anfang der Funktion hinzu:
Function CountCells(MyRange As Range) Dim iCount As Integer Application.Volatile iCount = 0 For Each cell In MyRange If cell.HasFormula Then iCount = iCount + 1 End If Next cell CountCells = iCount End Function
Durch die Einbeziehung der Application.Volatile-Methode wird diese Funktion (Makro) bei jeder Neuberechnung des Arbeitsblatts erneut ausgeführt.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2013) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: