Hallo liebes Forum,
ich bin begeisterter Excel-User und habe es bisher immer geschafft ohne VBA auszukommen. Bin also nicht gerade ein VBA-Fan ;)
Jetzt habe ich aber bei einer ziemlich großen Excel-Datei ein Problem was ohne VBA nicht gelöst werden kann. Ich beschreibe kurz die Problematik:
Es handelt sich um eine Schussbahnberechnung. Die Bewegung eines Projektils wird aus nicht näher zu erläuternden Gründen in 70 Segmente unterteilt, und die einzelnen Segmente werden in Abhängigkeit voneinander, nacheinander berechnet. Jedes Segment kommt in einer Abfolge von Berechnungen zu einer Stelle, an der eine nichtlineare Formelgleichung entsteht. Der gesuchte Wert "s" wird für die weitere Berechnung im selben Segment benötigt um damit die Vorrausetzung zum Berechnungsstart des nächsten Segmentes zu liefern. Das VBA-Skript wird also mit anderen Zielzellen etwa 70 mal benötigt.
Nun zum eigentlichen Berechnungsproblem; Es gibt im ersten, exemplarischen, Segment drei Zellen
B62 enthält den Energiedifferenzwert deltaE, welcher hier als ZIELWERT der Gleichung dient.
B63 enthält die Formelgleichung welche viele Variablen enthält, darunter eine Variable mit der Bezeichung B65.
B65 soll den zu ändernden Wert enthalten.
Das Skript soll starten, wann immer die Zelle B62 verändert wird. Und den Wert "s" liefern um eine weitere Berechnung zu ermöglichen.
Mithilfe von der VBA-Hilfe und Freunden bin ich zu folgenden Skript gekommen:
Private Sub Worksheet_Change (ByVal Target As Range)
Dim Keycells as Range
Set Keycells = Range ("B62")
Cells(Target.Row, 4).GoalSeek_
Goal:=Cells(Target.Row, 3),_
ChangingCell:=Target
End Sub
Nun diese Skript funktioniert einerseits nicht. Andererseits kenne ich wohl auch nicht die richtige Art es überhaupt zu starten, ich habe es in die 2.Tabelle geschrieben. Wenn ich es starten will, fordert mich VBA dazu auf ein Makro zu benennen oder zu starten. In der Liste des Dialogfeldes ist aber kein zur Verfügung stehendes Makro eingetragen. Also ich kann es nicht benamen, weil ich nicht weiß wie, ich weiß nicht ob es im Modul1 oder in der Tabelle 2 stehen soll oder muss. Und schließlich stimmt wohl an der Zuweisung der Zellen etwas nicht.
Ich wäre sehr dankbar wenn mir da jemand in der Form helfen könnte ein Makro nicht nur zu erstellen sonder auch so zu integrieren das es in der oben beschriebenen Weise funktioniert.
Liebe Grüße
Daniel
|