Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Solver

Solver
06.11.2016 12:43:14
Chris
Hey
ich hoffe mir kann jemand helfen udn zwar stehe ich vor folgendem Problem
und zwar ist es so das ich in VBA einen einfachen code zum kopieren eines bestimmten bereiches erstellt habe -
With Worksheets(3)
Range(Cells(10, 12), Cells(31, 12)).Value = .Range(.Cells(2, 9), .Cells(23, 9)).Value
End With
Else
MsgBox "Das Zielblatt darf nicht Quellblatt sein" & vbLf & "bitte aktivieren Sie das Zielblatt"
End If
If ActiveSheet.Index 1 Then
With Worksheets(4)
Range(Cells(11, 6), Cells(31, 6)).Value = .Range(.Cells(8, 15), .Cells(28,15)).Value
End With

bzw für später einen Solver aus einem Makro heraus gelesen habe
SolverOk SetCell:="$AF$10", MaxMinVal:=2, ValueOf:=0.00000001, ByChange:= _
"$L$10:$L$31", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverOk SetCell:="$AF$10", MaxMinVal:=2, ValueOf:=0.00000001, ByChange:= _
"$L$10:$L$31", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve

dies passiert alles im Tabellenblatt 3
wie man sieht handelt es sich immer um 21 bzw 22 werte
nun möchte ich das aber dynamisch anpassen das wenn ich z.b. im Tabellenblatt 1
in der zelle D8 das er das rechnet was oben steht
jedoch wenn in D8 z.b. eine 41 steht soll er das berechnen
SolverOk SetCell:="$AF$10", MaxMinVal:=2, ValueOf:=0.00000001, ByChange:= _
"$L$10:$L$51", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverOk SetCell:="$AF$10", MaxMinVal:=2, ValueOf:=0.00000001, ByChange:= _
"$L$10:$L$51", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve

wäre es ja nur in excel hätte ich mit einer indirektformel gearbeitet aber das klappt nicht so wie gedacht
hoffe mir kann da jemand weiter helfen

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Solver
06.11.2016 13:43:33
Chris
ok also das erste habe ich heraus gefunden wie es klappt
aber das mit dem solver
wie kann ich sagen $L$10:Indirekt("L"(D8+10))
AW: Solver
06.11.2016 18:18:38
Michael
Hi,
führe eine Variable für den zu berechnenden Bereich (also das "$L$10:$L$51") ein; meinetwegen
Dim nimmDas as String

bestücke sie mit Werten:
nimmDas= range("L10").resize(range("D8")+10).address

und übergib sie an den Solver:
SolverOk SetCell:="$AF$10", MaxMinVal:=2, ValueOf:=0.00000001, ByChange:= _
nimmDas, Engine:=1, EngineDesc:="GRG Nonlinear"
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige