Microsoft Office Tutorials and References
In Depth Information
veränderbare Zellen haben, da die veränderbaren Zellen aber nicht bei allen Szena-
rien identisch sein müssen, kann der Szenariobereich natürlich weit mehr als 32 Zel-
len aufweisen. Logo!?
In den Zeilen 11–13 erfolgt eine Gültigkeitsprüfung des Szenariobereiches. Denn das
Ganze funktioniert nur, wenn die Daten in dem erwarteten Format vorliegen. Diese
Gültigkeitsprüfung könnte noch weiter ausgebaut werden. Zum Beispiel könnte man
noch prüfen, ob alle Adressen der veränderbaren Zellen gültig sind.
Danach folgen in den Zeilen 14 und 15 zwei ineinander verschachtelte For-Next -
Schleifen. Die äußere Schleife vollführt für jedes anzulegende Szenario einen Durch-
lauf. Die innere Schleife füllt dann alle Daten eines jeden Szenarios.
Sub BereichAuslesen()
1 Dim Feld() As Variant
2 Dim rngScenarios As Range
3 Dim CountScenarios As Long
4 Dim CountChangingCells As Long
5 Dim x As Long, y As Long, z As Long
6 Dim strChangingCells
7 Dim actualValue As Variant
8 Set rngScenarios = ActiveSheet.Range(RefEdit1.Value)
9 CountScenarios = rngScenarios.Rows.Count - 1
10 CountChangingCells = rngScenarios.Columns.Count - 2
11 If rngScenarios.Cells(1, 1).Value <> "Name" Or _
rngScenarios.Cells(1, 2).Value <> "Kommentar" Then
12 Exit Sub
13 End If
14 For y = 2 To CountScenarios + 1
15 For x = 3 To CountChangingCells + 2
16 actualValue = rngScenarios.Cells(y, x).Value
17 If actualValue <> "" Then
18 z = z + 1
19 ReDim Preserve Feld(1 To z)
20 Feld(z) = actualValue
21 strChangingCells = strChangingCells & _
Application.ConvertFormula( _
rngScenarios.Cells(1, x).Value,xlA1, xlR1C1, 1) & ", "
22 End If
23 Next x
24 strChangingCells = Left(strChangingCells, _
Len(strChangingCells) - 2)
Search JabSto ::




Custom Search