La funzione Ricerca Obiettivo vuole per default una formula (prodotto tra due o più celle) che deve raggiungere l'obiettivo e un valore da cambiare per raggiungere l'obiettivo stesso quindi se A1 è un valore da cambiare e cella interessata deve essere parte della funzione cerca obiettivo e non può essere un'altra cella che non fa parte dell'obiettivo.
Premesso questo l'unica cosa che mi viene da pensare è mettere in relazione la cella A4 con A1 inserendo in A4 la formula: =A1
poi creare due macro
la prima che cerca l'obiettivo (rendendo la formula in A4 valore e modificandola ad obiettivo raggiunto)
la seconda che ripristina la formula in A4 = A1
le macro per fare questo possono essere impostate così:
Codice: Seleziona tutto
Sub CercaObiettivo()
Range("A4").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A3").GoalSeek Goal:=100, ChangingCell:=Range("A4")
End Sub
Sub Ripristina()
Range("A4").Select
ActiveCell.FormulaR1C1 = "=R[-3]C"
Range("A5").Select
End Sub
Ciao
grazie mille,
nel mio caso il problema non e' tanto far variare una cella al postao di A1, ma di preservare A1;
il problema in efeetti si risolve creando un ambiente specchio e facendo partire la ricerca abiettivo per ogni obiettivo, nel mio caso tre diveris.
Mi chiedevo, se magari c'e' un modo divero dalla ricerca obiettivo che mi da lo stesso risultato;
mi spiego:
considerando l'esempio di prima, vorrei che in B1 ci sia il valore che dovra' assumere A1 affinche A4 sia 100, in C1 il valore che A1 dovra' assumere affinche' A4 sia zero, In D1 il valore che A1 dovra' assumere affinche A4 sia -100.
le formule coinvolte sono molto complesse, quindi non mi e' facile fare la formula inversa.
al di la' della ricerca obiettivo, ci sarebbe un comando, una funzione o una soluzuione che potrebbe portare a questo risultato?
grazie