Microsoft Office Tutorials and References
In Depth Information
25 ActiveSheet.Scenarios.Add _
Name:=rngScenarios.Cells(y, 1), _
Comment:=rngScenarios.Cells(y, 2), _
ChangingCells:=strChangingCells, _
Values:=Feld
26 strChangingCells = ""
27 z = 0
28 Next y
29 Me.lblMessage.Caption = CountScenarios & " Szenarien angelegt."
30 ScrollBar1.Max = CountScenarios
End Sub
In Zeile 16 wird jede Zelle des Datenbereiches (im Beispiel F3:I5) an die Variable
ActualValue übergeben. In der nächsten Zeile wird dann geprüft, ob die Zelle über-
haupt einen Wert enthält. Falls nicht, wird sie beim aktuellen Szenario auch nicht als
veränderbare Zelle ergänzt. Falls doch, wird in Zeile 18 der Zähler z eins hochgezählt
und der Wert an das Array Feld übergeben.
In Zeile 21 wird eine Zeichenkette erzeugt, die alle Adressen der veränderbaren Zel-
len eines Szenarios enthält. In der Tabelle hatten wir die Bezüge in der Form B1, B2
usw. dargestellt. Bei Erzeugung neuer Szenarien verlangt VBA aber die sogenannte
R1C1-Schreibweise. Mit der ConvertFormula -Methode werden deshalb die Bezüge
in diese Schreibweise konvertiert.
Nachdem die innere Schleife zum ersten Mal verlassen wurde, sind wir in Zeile 24
angekommen. Die Zeichenkette in strChangingCells hat dann die Gestalt
R1C2, R2C2, R3C2
In Zeile 24 wird dann noch das störende Komma ganz rechts (inkl. Leerzeichen) abge-
schnitten. In Zeile 25 wird dann endlich das aktuelle Szenario mit der Add -Methode
angelegt. Wie man sieht, wird im Argument ChangingCells die zuvor erzeugte Zei-
chenkette übergeben. Im Argument Values werden alle Werte des Szenarios in Form
des Arrays-Felds auf einen Schlag übergeben.
In den Zeilen 26 und 27 wird der Zähler z und die Zeichenkette der Zelladressen für das
nächste Szenario auf 0 zurückgesetzt bzw. gelöscht. Zu guter Letzt folgt eine Status-
meldung über die Anzahl angelegter Szenarien, und die Reichweite der Bildlaufleiste,
mit der später alle Szenarien durchgeblättert werden können, wird an diese Anzahl
angepasst.
Search JabSto ::




Custom Search