Makro automatisch ausführen ohne ein Button

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Makro automatisch ausführen ohne ein Button
von: TroFa
Geschrieben am: 08.10.2015 12:19:42

Hallo,
Ich habe ein Problem.
Über ein CommandButton funktioniert das folgende Makro einwandfrei.


Private Sub CommandButton3_Click()
     If Range("B184").Value = 500 Then
         Exit Sub
     Else
         Range("B13").Select
         Range("B184").GoalSeek Goal:=500, ChangingCell:=Range("B13")
     End If
End Sub

Nun möchte ich, dass das Makro nach jeder Eingabeänderung automatisch ausgeführt werden soll. Also der Button soll nicht mehr betätigt werden, sondern das Makro sollte direkt im Tabellenblatt integriert sein.
Folgendendes habe ich ausprobiert:

Private Sub Worksheet_Calculate()
If Range("B184").Value < 500 Then
Exit Sub
Else
    Range("B13").Select
    Range("B184").GoalSeek Goal:=500, ChangingCell:=Range("B13")
End If
End Sub

Leider funktioniert es nicht und es kommt folgender Fehler:
Laufzeitfehler "-2147417848 (80010108)":
Die Methode GoalSeek für das Objekt Range ist fehlgeschlagen
Ich bitte um Hilfe.
Vielen Dank im voraus.

Bild

Betrifft: AW: Makro automatisch ausführen ohne ein Button
von: Michael
Geschrieben am: 08.10.2015 16:10:56
Hi TroFa,
ich würde das Change-Ereignis verwenden. Das hat nebenbei den Vorteil, daß Du abfragen kannst, ob eine Änderung in dem Bereich erfolgt ist, der von Deiner Formel ausgewertet wird.
Eine ähnliche Fragestellung wurde hier ausdiskutiert:
https://www.herber.de/forum/archiv/316to320/317302_Zielwertsuche_mit_VBA.html
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro automatisch ausführen ohne ein Button"