Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige