Goal Seek Macro avec un Objectif en tant que Formule
Je suis à saisir les pailles ici, de sorte que toute aide serait super (ie. Je n'ai aucune idée de ce que je fais avec VBA).
Je suis en train de résoudre une référence circulaire problème dans Excel par la création d'un objectif de chercher macro - essentiellement
S3 = M + S2
,S3 = L * G
.
Je veux goal seek S3 pour l'égalité des L * G
en changeant M.
Donc, j'ai mis
L * G
dans la celluleH32
,S3
dansH18
,M
dansG18
,S2
dansF18
et c'est ce que j'ai recueillies jusqu'à présent.
Sub GoalSeek()
Dim x As Integer
x = Range("H32").Value
Range("H18").GoalSeek Goal:=x, ChangingCell:=Range("G18")
End Sub
Je suis une "Référence n'est pas valide" erreur, des idées?
Merci!
Vous devez vous connecter pour publier un commentaire.
GoalSeek va lancer une "Référence non Valide" erreur si la GoalSeek cellule contient une valeur plutôt qu'une formule ou si le ChangingCell contient une formule au lieu d'une valeur ou rien.
La GoalSeek cellule doit contenir une formule qui fait référence directement ou indirectement à l'ChangingCell; si la formule ne fait pas référence à la ChangingCell d'une certaine façon, GoalSeek soit peut ne pas converger vers une réponse ou peut produire une réponse absurde.
J'ai testé votre code avec un autre GoalSeek formule que la vôtre (je n'étais pas tout à fait clair si certaines des conditions visées à des cellules ou des valeurs).
Pour le test, j'ai mis:
Le code était:
Et le code généré le (bon) réponse de 1.1038, la valeur de G18 à laquelle la formule de la H18 produit la valeur de 11, le but que je recherche.
Je pense que votre problème est que
Range("H18")
ne contient pas une formule. Aussi, vous pouvez rendre votre code plus efficace en éliminantx
. Au lieu de cela, modifiez votre code pour