Ciao
Avrei bisogno del vostro aiuto per migliorare una macro creando se possibile un ciclo.
In un foglio excel ho inserito nei campi da C19 a N28 dei valori in mV, nei campi da Q35 a AB44 i fattori di errore per il calcolo con il risolutore, mentre nei campi da C35 a N44 ci sono i valori che dovranno essere calcolati dalla macro in °C.
La macro creata è cosi composta:
If Range("C19").Value = "-" Then
Range("C35") = "-"
Else
SolverOk SetCell:="Q35", MaxMinVal:=3, ValueOf:="0", ByChange:="$C$35"
SolverOptions MaxTime:=10000, Iterations:=10000, Precision:=0.00000000001, _
AssumeLinear:=False, StepThru:=False, Estimates:=1, Derivatives:=1, _
SearchOption:=1, IntTolerance:=0.000001, Scaling:=False, Convergence:=0.0001, _
AssumeNonNeg:=False
SolverOk SetCell:="Q35", MaxMinVal:=3, ValueOf:="0", ByChange:="$C$35"
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End If
If Range("C20").Value = "-" Then
Range("C36") = "-"
Else
SolverOk SetCell:="Q36", MaxMinVal:=3, ValueOf:="0", ByChange:="$C$36"
SolverOptions MaxTime:=10000, Iterations:=10000, Precision:=0.00000000001, _
AssumeLinear:=False, StepThru:=False, Estimates:=1, Derivatives:=1, _
SearchOption:=1, IntTolerance:=0.000001, Scaling:=False, Convergence:=0.0001, _
AssumeNonNeg:=False
SolverOk SetCell:="Q36", MaxMinVal:=3, ValueOf:="0", ByChange:="$C$36"
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End If
cosi fino all'ultima parte che è:
If Range("N28").Value = "-" Then
Range("N44") = "-"
Else
SolverOk SetCell:="AB44", MaxMinVal:=3, ValueOf:="0", ByChange:="$N$44"
SolverOptions MaxTime:=10000, Iterations:=10000, Precision:=0.00000000001, _
AssumeLinear:=False, StepThru:=False, Estimates:=1, Derivatives:=1, _
SearchOption:=1, IntTolerance:=0.000001, Scaling:=False, Convergence:=0.0001, _
AssumeNonNeg:=False
SolverOk SetCell:="AB44", MaxMinVal:=3, ValueOf:="0", ByChange:="$N$44"
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End If
Praticamente una interminabile secuenza di if.
Volevo sapere da voi se è possibile creare un ciclo per ripetere il comando in tutte le celle da C35 a N44 perchè io non ci sono riuscito.
Grazie