Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zielwertsuche automatisieren

Zielwertsuche automatisieren
25.08.2019 11:52:46
Marie
Hallo liebe Excel-Freunde,
ich habe folgende Beispieldatei für mein Problem erstellt (nicht wundern über die Aufteilung, ich habe meine Originaldatei genommen und alles gelöscht, was nicht von Relevanz ist:
https://www.herber.de/bbs/user/131605.xlsm
Es geht darum, dass ich die Zielwertsuche (siehe Felder F43:F44) automatisieren möchte, wenn _ ich neue Eingabeparamater eingebe (z.B. C5). Dafür habe ich bereits ein Makro aufgezeichnet und in VBA reinkopiert:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G46:G49")) Is Nothing Then Exit Sub
Range("F43").GoalSeek Goal:=0, ChangingCell:=Range("F44")
End Sub

Wenn ich nun beispielsweise C5 von 1 zu 2 ändere, dann ändert sich zwar F43, aber es wird die Zielwertsuche nicht ausgeführt und deshalb bleibt F44 unverändert.
Ich hoffe ihr könnt mir helfen.
Danke im Voraus
Marie

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zielwertsuche automatisieren
25.08.2019 13:28:04
onur
Was erwartest du den bei:
If Intersect(Target, Range("G46:G49")) Is Nothing Then Exit Sub

Schliesslich wird der Code deswegen nur ausgeführt, wenn etwas in G46:G49 verändert wird.
AW: Zielwertsuche automatisieren
26.08.2019 07:36:30
Marie
Danke für die Antwort. Weiß aber nicht was ich nun ändern soll, damit es klappt. Habe die betreffende Zeile rausgelöscht und es funktioniert immer noch nicht.
AW: Zielwertsuche automatisieren
26.08.2019 10:42:47
Pierre
Onur meint wohl, dass du C5 änderst, G46:G49 aber unverändert bleibt und deswegen der Code nicht läuft.
Schreibe mal im Code spaßeshalber Range("C5") statt Range("G46:G49").
AW: Zielwertsuche automatisieren
26.08.2019 11:26:24
onur
Das Change-Event greift nur bei Änderungen manuell und nicht durch Formeln.
Anzeige
AW: Zielwertsuche automatisieren
26.08.2019 17:46:44
onur
Ich verstehe dich nicht so ganz: Laut deiner Datei ist doch die Formel in G43 und die zu verändernde Zelle ist G44, aber das Makro greift auf F43 und F44. Warum das?
Ausserdem: Was soll sich den bitteschön ändern, wen C5 verändert wird? C5 hat doch absolut nix mit der Formel in G43 zu tun !
AW: Zielwertsuche automatisieren
27.08.2019 09:03:48
Marie
Also hier nochmal:
Alle Werte in Spalte C haben etwas mit dem Wert in G43 bzw G44 zu tun. Diese sind teilweise mit den Parametern a und b (G48 und G49) verknüpft. Ich kann leider nichts zu dem Code sagen, da ich, wie oben angegeben, fast keine VBA Kenntnisse habe und diesen Code einzig durch eine Makro-Aufschreibung erhalten habe und versucht habe anzuwenden (was ja anscheinend nicht funktioniert hat, weshalb ich hier nach Hilfe suche).
Ich benötige einen Code, der die Zielwertsuche automatisch laufen lässt (also G43 gegen 0 und dann für G44 ein Ergebnis), wenn ich einen der Werte in Spalte C ändere. Dieser Automatismus kann sich meinetwegen auf die ganze Spalte C beziehen, Hauptsache ist nur, dass sich dann G44 anpasst!
Danke im Voraus
Marie
Anzeige
AW: Zielwertsuche automatisieren
27.08.2019 10:13:57
onur
Du verstehst es nicht.
Goalseek ändert G44 solange, bis die Formel in G43 eine 0 ergibt.
Wenn du aber C5 manuell änderst und G43 ändert sich trotzdem nicht, hat C5 NIX mit G43 zu tun!
AW: Zielwertsuche automatisieren
27.08.2019 18:45:19
Marie
Okay. Könntest du mir dann bitte sagen wie die Formel richtig lauten würde? Ich habe wie gesagt sehr wenig Kenntnisse darüber.
Danke im Voraus
Marie
AW: Zielwertsuche automatisieren
27.08.2019 18:46:57
onur
Ich weiss doch nicht, was die Formel berechnen soll, sondern nur DU.
AW: Zielwertsuche automatisieren
27.08.2019 18:55:54
onur
Ich glaube, jetzt weiss ich, was du die ganze Zeit meinst:
G48 ist abhängig von C5.
Wie ich bereits erwähnte: das Problem ist nur, dass so ein Makro NICHT auf Änderungen durch Formeln reagiert, sondern nur auf manuelle (oder durch Code erfolgte).
Ich lasse mir was einfallen! ;)
Anzeige
AW: Zielwertsuche automatisieren
28.08.2019 09:54:16
Marie
Ja klasse das ist genau das was ich meinte! Nur kann ich das irgendwie nicht auf mein Beispiel übertragen. Habe es mal in meine Datei bei VBA reinkopiert und es tut sich nichts :( Hast du noch was anderes gemacht, oder habe ich das falsch reinkopiert?
https://www.herber.de/bbs/user/131671.xlsm
Was genau bedeutet eigentlich diese Zeile von deinem Code:
If TA "$C$39" And TA "$C$40" And TA "$G$48" And TA "$G$49" Then Exit Sub
Bzw. ich weiß was das bedeutet aber wofür braucht man das?
Danke und liebe Grüße
Marie
Anzeige
AW: Zielwertsuche automatisieren
28.08.2019 09:59:53
Marie
Korrektur: Ich hatte nicht gesehen, dass du noch folgenden Code eingefügt hattest:
Private Sub TextBox1_Change()
Range("G43").GoalSeek Goal:=0, ChangingCell:=Range("G44")
End Sub
Wenn ich nun das Makro manuell laufen lasse, nachdem ich was geändert habe funktioniert es super. Wie kann ich es aber so wie bei dir haben, dass es jedes mal wenn ich C5 zB ändere läuft?
AW: Zielwertsuche automatisieren
28.08.2019 10:23:55
onur
Füge auf dem Blatt irgendwo eine Textbox (ActiveX) hinzu und verstecke sie (Eigenschaft Visible=false).
LinkedCell-Eigenschaft: C5 .
Dann läuft der Code.
Anzeige
AW: Zielwertsuche automatisieren
28.08.2019 11:20:34
Marie
Hallo onur,
das habe ich gemacht, Datei sieht wie folgt aus:
https://www.herber.de/bbs/user/131677.xlsm
Leider sehe ich die Textbox noch un der Code läuft nicht automatisch.
Was habe ich falsch gemacht?
Liebe Grüße
Marie
AW: Zielwertsuche automatisieren
28.08.2019 12:42:30
Marie
Ahhh nachdem ich die Excel geschlossen und neu geöffnet habe hat es funktioniert!! Super toll, danke.
Es ist noch ein Problem geblieben. ALso das Ganze soll auch funktionieren, wenn C5 zB nicht geändert wird, sondern C7 zB, oder andere Werte aus Spalte C. Es wäre gut, wenn der Code für die ganze Spalte C gilt. Also wenn ich einen Wert dort ändere (in echt habe ich viel mehr als in der Test-Datei), dann soll der Code jedes mal ausgeführt werden.
Danke
Marie
Anzeige
AW: Zielwertsuche automatisieren
28.08.2019 12:42:32
Marie
Ahhh nachdem ich die Excel geschlossen und neu geöffnet habe hat es funktioniert!! Super toll, danke.
Es ist noch ein Problem geblieben. ALso das Ganze soll auch funktionieren, wenn C5 zB nicht geändert wird, sondern C7 zB, oder andere Werte aus Spalte C. Es wäre gut, wenn der Code für die ganze Spalte C gilt. Also wenn ich einen Wert dort ändere (in echt habe ich viel mehr als in der Test-Datei), dann soll der Code jedes mal ausgeführt werden.
Danke
Marie
AW: Zielwertsuche automatisieren
28.08.2019 12:51:11
onur
Bist du sicher, dass C7 die Formel beeinflusst?
Normalerweise müsstest du für jede dieser Zellen eine Textbox hinzufügen.
Aber du kannst mal das machen: kopiere den Code der Textbox (natürlich ohne

Sub und End Sub
) in das Calculate-Ereignis des Blattes.
Dann brauchst du die Textbox nicht mehr.
Anzeige
AW: Zielwertsuche automatisieren
28.08.2019 17:44:27
Marie
Das verstehe ich nicht. Ist der Code da nicht bereits mit drinnen?
Userbild
Liebe Grüße
Marie
AW: Zielwertsuche automatisieren
27.08.2019 09:10:16
Marie
Okay ich weiß nun, warum es so verwirrend war. Irgendwie ist der Code ausgeartet. Das habe ich mittlerweile stehen:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("G43").GoalSeek Goal:=0, ChangingCell:=Range("G44")
End Sub
Funktioniert aber immer noch nicht.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige