Ich versuche, ein einfaches Makro zu schreiben, um ein Popup (vbOKOnly) anzuzeigen, wenn der Wert in einer Zelle einen bestimmten Wert überschreitet.
Ich habe grundsätzlich ein Arbeitsblatt mit Produkten und Rabatten. Ich habe eine Formel in einer Zelle, sagen A1, die den Rabatt als Prozentsatz (50% oder .5) effektiven Rabatt aller Einträge zeigt.
Nach was ich suche, ist Code, um ein Nachrichtenfeld anzuzeigen, wenn der Wert von Zelle A1 50% übersteigt, weil der Eingang einer anderen Zelle den Rabatt über 50% schob.
Danke!
Sie könnten Ihrem Blatt den folgenden VBA-Code hinzufügen:
%Vor%Jedes Mal, wenn eine Zelle auf dem Blatt geändert wird, wird der Wert von Zelle A1 überprüft.
Anmerkungen:
Widor verwendet einen anderen Ansatz ( Worksheet_Calculate
anstelle von Worksheet_Change
):
Fazit : Verwenden Sie Worksheet_Change
, wenn A1 nur von Daten abhängt, die sich auf demselben Blatt befinden, verwenden Sie Worksheet_Calculate
, falls nicht.
Im Wesentlichen möchten Sie Code zum Ereignis Calculate
des entsprechenden Arbeitsblatts hinzufügen.
Doppelklicken Sie im Projektfenster des VBA-Editors auf das Blatt, zu dem Sie Code hinzufügen möchten, und wählen Sie links oben im Dropdown-Menü im oberen Bereich des Editorfensters "Arbeitsblatt" und "Berechnen" aus jeweils.
Alternativ kopieren Sie den folgenden Code in den Editor des Blattes, das Sie verwenden möchten:
%Vor%Auf diese Weise wird jedes Mal, wenn das Arbeitsblatt neu berechnet wird, geprüft, ob der Wert & gt; 0,5 oder 50%.
Ich glaube nicht, dass eine Message-Box der beste Weg ist, um diesen Code zu lesen, da Sie den VB-Code in einer Schleife zum Überprüfen des Zelleninhalts benötigen oder das Makro manuell ausführen möchten. In diesem Fall wäre es besser, der Zelle eine bedingte Formatierung hinzuzufügen, um den Hintergrund beispielsweise in Rot zu ändern, wenn der Wert die Obergrenze überschreitet.
Tags und Links vba excel excel-vba messagebox