AW: Marge .. Zielwertsuche automatisch
22.07.2013 17:12:40
fcs
Hallo Mike,
wenn du andere Werte varieren willst, die als Konstanten in die Berechnungsformeln einfliessen sollen,
dann kannst du das in die For-Next-Schleife integrieren.
1. Du deklarierst eine zusätzliche Integer-Variable zum Zählen
und für die Marge.
2. Die Marge wird über den Zähler aus dem Bereich ermittelt
3. Die Marge wird in die Zelle eingetragen, die für die manuelle Eingabe verwendet wird.
Kann dann etwa wie folgt aussehen.
Gruß
Franz
Sub Zielwerte_varieren()
' Zielwerte_varieren Makro
Dim rng As Range, wks As Worksheet
Dim rngFormel As Range
Dim rngVariabel As Range
Dim varStart, varMarge As Variant, intCount As Integer
Set wks = ActiveSheet
With wks
Set rngFormel = .Range("B3") 'Zelle mit der Berechnungsformel
Set rngVariabel = .Range("D6") 'Zelle, deren Wert verändert werden soll, _
um Zielwert zu erhalten
varStart = rngVariabel.Value 'aktuellen Wert in variabler Zelle merken _
(sollte sinnvolles Ergebnis liefern!!)
'Zellbereich mit Zielwerten abarbeiten
For Each rng In .Range("B10:B17") 'Zellbereich mit den Zielwerten
intCount = intCount + 1
'Marge ermitteln für durchlauf
varMarge = Range("A14:A24").Cells(intCount, 1).Value
'Marge in die Zelle eintragen, die die Berechnungsformeln verwenden
Range("H10").Value = varMarge 'zelladresse anpassen
rngFormel.GoalSeek Goal:=rng.Value, ChangingCell:=rngVariabel
.Calculate
'Ergebnis rechts neben Zielwert eintragen
rng.Offset(0, 1).Value = rngVariabel
rngVariabel = varStart
Next rng
End With
End Sub