ich habe per "Makro aufzeichnen" eine Zielwertsuche mitgeschnitten. Das
Makro läßt sich über "Makro ausführen" in der aufgezeichneten Form ohne
Probleme starten, aber nun möchte ich den Zielwert aus einer Zelle des
gleichen Tabellenblattes auslesen. Das Makro habe ich folgendermaßen
geändert:
Sub zielwert()
Range("B18").GoalSeek Goal:=Range("B20").Value,
ChangingCell:=Range("B8")
End Sub
Das bricht mit Fehlermeldung 1004 ab. Die Hilfe kennt das Thema nicht; kann
mir jemand einen Tip geben, woher der Fehler kommen könnte?
Viele Grüße
Thilo
Gruß HW
--
_____________________________________________________________
NewsGroups Suchen, lesen, schreiben mit http://netnews.web.de
das klingt als hättest Du die veränderliche Zelle und die Zelle mit
der Formel vertauscht. Dein Format setzt voraus:
das in B18 die Formel steht (z.B. =Summe(B8:B19)
in B20 der gewünschte Wert
und in B8 der zu ändernde Wert.
Alternativ:
Gib den Zellen Namen (Am Einfachsten durch Klick in das Feld über A,
wo sonst der Zellbezug drin steht. Diese Namen kannst Du in der Sub
folgendermaßen anwenden.
Benenne B18 mit Formel
Benenne B20 mit Wert
Benenne B8 mit Anpassen
[Formel].GoalSeek Goal:=[Wert].Value, ChangingCell:=[Anpassen]
Wenn Du die Zellbezüge ändern möchtest, änder sie über "Einfügen ->
Namen festlegen"
Dann brauchts Du nicht immer den VBA Editor aufrufen.
Thilo Gläser schrieb:
--
bis dann,
Robert
Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.
danke für deine Antwort, aber ...
"Robert Feldmann" <robert....@netcologne.de> schrieb im Newsbeitrag
news:3AA549C3...@netcologne.de...
> Hallo Thilo,
>
> das klingt als hättest Du die veränderliche Zelle und die Zelle mit
> der Formel vertauscht. Dein Format setzt voraus:
> das in B18 die Formel steht (z.B. =Summe(B8:B19)
> in B20 der gewünschte Wert und in B8 der zu ändernde Wert.
... das ist auch so gedacht ...
> Alternativ:
> Gib den Zellen Namen
... habe ich erfolglos versucht. das Problem ist offenbar die Zuweisung
Goal:=Range("B20").Value
In der Aufzeichnung stand dort
Goal:=60
und das funktionierte. Kann es sein, daß ich den Datentyp irgendwie
konvertieren muß? Eigentlich arbeite ich doch so wie's dasteht mit
"Variant"; da müßte sich doch Excel selber helfen, oder? Die Übergabe des
Wertes über eine Variable, die ich unterschiedlich deklariert hatte, läuft
auch nicht.
Viele Grüße
Thilo
--
Mit freundlichen Grüßen
Eckehard Pfeifer
VBA-WorkShops in Dresden, Info unter www.dr-e-pfeifer.de
Ein Blick lohnt sich immer: www.vba-magazin.de