Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro - Zielwertsuche

Makro - Zielwertsuche
26.09.2004 17:14:45
WalterK
Hallo zusammen!
Im Forum habe ich folgendes Makro erhalten:
Private Sub worksheet_change(ByVal target As Excel.Range)
If target.Address = "$W$63" Then
Range("CM63").GoalSeek Goal:=Range("AA63").Value, ChangingCell:=Range("BS63")
Range("CM63").GoalSeek Goal:=Range("AA63").Value, ChangingCell:=Range("BS63")
End If
If target.Address = "$W$64" Then
Range("CM64").GoalSeek Goal:=Range("AA64").Value, ChangingCell:=Range("BS64")
Range("CM64").GoalSeek Goal:=Range("AA64").Value, ChangingCell:=Range("BS64")
End If
If target.Address = "$W$65" Then
Range("CM65").GoalSeek Goal:=Range("AA65").Value, ChangingCell:=Range("BS65")
Range("CM65").GoalSeek Goal:=Range("AA65").Value, ChangingCell:=Range("BS65")
End If
Das Makro wird gestartet, wenn ich z.b. die Zelle W63 oder W64 usw. verlasse.
Ist es möglich, das Makro dann starten zu lassen, wenn über eine Formelberechnung z.B. in Zelle Z63 oder Z64 usw. "Differenz" ausgegeben wird, und nicht mehr über das Verlassen einer Zelle.
Besten Dank im voraus.
Servus, Walter
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro - Zielwertsuche
Ulf
Verleg das Ganze in das Ereignis Private Sub Worksheet_Calculate()
Ulf
AW: Makro - Zielwertsuche
26.09.2004 17:28:46
WalterK
Hallo!
Wie muss das Makro geändert werden, damit z.B. die Zelle Z63 abgefragt wird, ob dort "Differenz" drinnen steht, denn dann müsste das Makro starten.
Servus, Walter
AW: Makro - Zielwertsuche
Ulf
if [Z63] = "Differenz" then
'weiterer Code.....
end if
Ulf
Anzeige
AW: Makro - Zielwertsuche
26.09.2004 18:10:04
WalterK
Hallo
Mein Makro fängt jetzt so an:

Private Sub worksheet_Calculate()
If [AH63] = "Differenz" Then
Range("CM63").GoalSeek Goal:=Range("AA63").Value, ChangingCell:=Range("BS63")
Range("CM63").GoalSeek Goal:=Range("AA63").Value, ChangingCell:=Range("BS63")
End If
usw.
End Sub

Was mache ich falsch, jedenfalls wird nichts berechnet und bei meinem Level in VBA keine Idee, was falsch sein könnte!
Danke vorerst, Walter
Anzeige
AW: Makro - Zielwertsuche
Ulf
Das wort Differenz muss als Ergebnis einer Berechnung erscheinen. Ich dich
so verstanden. Falls es durch Eingabe erscheint, ist das Ereignis
Private Sub Worksheet_Change(ByVal Target As Range)
das richtige.
Ulf
AW: Makro - Zielwertsuche
26.09.2004 18:35:15
WalterK
Hallo Ulf
Es ist schon richtig, das Wort Differenz wird über eine Formelberechnung ausgegeben.
Es wird mir aber ein Laufzeitfehler angegeben, und zwar wird die Zeile "Range("CM63 usw." gelb markiert.
Danke, Walter
Anzeige
AW: Makro - Zielwertsuche
Ulf
Versuchs mal so:
Option Explicit
Private Sub worksheet_Calculate()
On Error GoTo ErrH
Application.EnableEvents = False
If [AH63] = "Differenz" Then
Range("CM63").GoalSeek Goal:=Range("AA63").Value, ChangingCell:=Range("BS63")
Range("CM63").GoalSeek Goal:=Range("AA63").Value, ChangingCell:=Range("BS63")
'usw.
End If
ErrH:
Application.EnableEvents = True
End Sub

Ulf
Anzeige
AW: Makro - Zielwertsuche
26.09.2004 19:03:40
WalterK
Hallo
Funktioniert leider nicht, es erfolgt kein Makrostart.
Trotzdem danke für die Mühe. Mir bleibt ja immer noch die 1. Variante (Makrostart beim Verlassen einer Zelle).
Servus, Walter
AW: Makro - Zielwertsuche
Ulf
Versteh doch, es passiert nur, wenn eine Neuberechnung der Tabelle erfolgt.
Ggf. mit F9 neuberechnen.
Ulf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige