Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1572to1576
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

Kombis aus verschiedenen Variablen rechnen

Kombis aus verschiedenen Variablen rechnen
09.08.2017 11:14:58
N_N
Hallo Zusammen,
ich habe folgendes Problem und finde einfach keinen Lösungsansatz:
Ich möchte über VBA den Solver in Excel aufrufen. In meinem aktuellen Beispiel habe ich 9 Werte, die vom Solver so angepasst werden sollen, bis das Ergebnis den höchstmöglichen Wert erreicht hat (es handelt sich um eine logistische Regressionsrechnung).
Ich habe nun einen Code geschrieben, der zunächst abfragt, welche Variablen in die Berechnung einfließen sollen, danach wird zunächst die erste Variable vom Solver angepasst und das Ergebnis in einem zweiten Tabellenblatt dokumentiert. Danach wird die zweite Variable hinzugefügt und der Solver verändert beide Variablen so, bis das Ergebnis sein Minimum erreicht hat und so weiter. Allerdings funktioniert die Eingabe nur, wenn ich eine Range angebe, d.h. die Eingabe muss in Form von "Variable 3 bis Variable 7" erfolgen werden.
Ich möchte aber, dass die ausgewählten Variablen in jeder möglichen Kombi einmal vom Solver berechnet und das Ergebnis dokumentiert wird, damit man sich hinterher anschauen kann, welche Kombi an Variablen zum besten Ergebnis führt. Ich schaffe es nur leider nicht, eine Schleife o.ä. zu bauen, die mir alle möglichen Kombis rausspuckt, damit ich diese dann an den Solver übergeben kann.
Mein aktueller Code sieht so aus:
Function Col_Letter(lngCol As Long) As String
Dim vArr
vArr = Split(Cells(1, lngCol).Address(True, False), "$")
Col_Letter = vArr(0)
End Function
Sub LogV1()
Dim s As Object, e As Object
Set s = Worksheets(1)
Set e = Worksheets("Erg")
Dim r As Long
Dim startvar As Long
z = 0
Worksheets(1).Range("C2:K2").Value = 0
Worksheets("Erg").Cells.ClearContents
Items = 0
outputrow = 1
startvar = InputBox("Bitte eine Startvariable eingeben: ", "Startvariable")
Endvar = InputBox("Bitte eine Endvariable eingeben: ", "Endvariable")
For r = startvar To Endvar
startcell = "$" + Col_Letter(startvar) + "$2"
cell = "$" + Col_Letter(r) + "$2"
cell_ges = startcell + ":" + cell
SolverOk SetCell:="$S$7", MaxMinVal:=1, ValueOf:=0, ByChange:=cell_ges, _
Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve UserFinish:=True
LogLikelihood = s.Cells(7, 19)
Klassifikation_richtig = s.Cells(3, 18)
Klassifikationsergebnis = s.Cells(3, 19)
outputrow = outputrow + 1
e.Cells(1, 1) = "Schritt"
e.Cells(1, 1).Font.Bold = True
z = z + 1
e.Cells(outputrow, 1) = "Schritt " & z
e.Cells(1, 2) = "LogLikelihood"
e.Cells(1, 2).Font.Bold = True
e.Cells(1, 3) = "Klassifikation_richtig"
e.Cells(1, 3).Font.Bold = True
e.Cells(1, 4) = "Klassifikationsergebnis"
e.Cells(1, 4).Font.Bold = True
e.Cells(outputrow, 2) = LogLikelihood
e.Cells(outputrow, 3) = Klassifikation_richtig
e.Cells(outputrow, 4) = Klassifikationsergebnis
Next r
End Sub

Ich würde gerne ganz auf die Inputbox mit start- und endvar verzichten und von vornherein zählen lassen, wie viele Variablen es gibt und alle vorhandenen verwenden, um die verschiedenen Kombis zu rechnen.
Ich hoffe meine Erläuterungen sind soweit verständlich und jemand hat eine Idee, wie ich das hinbekommen könnte.
VG
N_N

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kombis aus verschiedenen Variablen rechnen
09.08.2017 12:10:02
N_N
Oder habt ihr eine Idee, wie ich eine Matrix erstellen kann, die mir einfach alle möglichen Kombis binär darstellt?
AW: Kombis aus verschiedenen Variablen rechnen
09.08.2017 15:00:55
ChrisL
Hi
Mit Solver und Regressionsrechnungen kenne ich mich leider nicht aus. Aber binär müsste einfach machbar sein.
Eine Zahlenreihe von 0-511 in Spalte A und Formel:
=DEZINBIN(A1;9)
cu
Chris
AW: Kombis aus verschiedenen Variablen rechnen
09.08.2017 16:21:04
N_N
Hi Chris,
vielen Dank für den Tipp. Das spart mir eine neunfach verschachtelte for-Schleife.
LG
N_N
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige