frontiera efficiente vba excel
Hai un problema con Excel? 
frontiera efficiente vba excel
di gianpiero75 data: 26/11/2013 18:36:49
salve raga, buonasera a tutti, sono nuovo del forum e anche di VBA.
ho questo problema, devo sviluppare un modellino per il calcolo della frontiera efficiente ( ottimizzazione di portafogli) con il risolutore di excel e VBA.
La cella obbiettivo contiene una formula, legata ad altre celle tra le quali quelle di cui cambiare il valore.
Inoltre il codice contiene tre vincoli tra i quali uno é quello che chiede di minimizzare la cella obbiettivo dato un valore del rendimento atteso.
Il codice applicato una sola volta funziona.
Il problema é che io vorrei eseguire più calcoli per avere un vettore di risultati, per diversi livelli di rendimento desiderato in modo da poter costruire la frontiera efficiente.
Ho provato a scrivere questo ciclo che vi allego, ma non funziona, il programma va in loop e visualizza continuamente il mex ( troppe celle variabili).
Potete aiutarmi? é una settimana che ci sbatto, ma sono un novellino in VBA....e sinceramente non so proprio come fare.
Io spero di essere riuscito almeno a spiegarmi perché nemmeno quello é semplice. volevo allegre uno screenshot del file per essere più chiaro ma mi sembra non si possa...
Grazie in anticipo
Private Sub CommandButton1_Click()
For j = 2 To 20
solverok setcell:="b12" & j, maxminval:=2, bychange:="d12:r12" & j
'inseriamo i vincoli
'vincolo no short selling
solveradd cellref:="d12:r12" & j, relation:=3, formulatext:=0
'vincolo del rendimento desiderato
solveradd cellref:="c12" & j, relation:=3, formulatext:="a12" & j
'vincolo di bilancio tutto viene investito
solveradd cellref:="s12" & j, relation:=2, formulatext:="c5"
'risolvi e senza mostrare la finenstra di dialogo
solversolve userfinish:=True
solverfinish keepfinal:=1
Next j
End Sub
|
Vuoi Approfondire?