2015-07-24 8 views
0

J'ai créé une macro qui fonctionne parfaitement en 2010 mais lorsque j'essaie d'exécuter 2007, il affiche un message d'erreur "Erreur d'exécution '450' Nombre incorrect d'arguments ou de propriété invalide . affectation » Je suis Addin solveur Intégration- Je joins le fichier excel - Dans cette feuille appelée "Multilinesup" et le bouton macro est "Run Optimizer"Excel 2007 VBA Erreur # 450 - Solver Addin

S'il vous plaît aider

http://excelbyjoe.com/MEF/wp-content/uploads/2015/07/MLB-Optimal-lineups-v3-2007.xlsm

.. Le problème est SolverOk code

Veuillez aider

+2

Pouvez-vous poster votre code dans la question s'il vous plaît? – GrandMasterFlush

+0

@GrandMasterFlush - C'est vraiment un gros code et un forum qui ne me permet pas de coller le code entier donc voici le code exact que je suis avec 'Application.Run "SolverOk", "$ ak $ 2", 1, "0", "$ g $ 2: $ g $ 200", 2, "Simplex LP" ' –

+0

Guys quelqu'un m'aider s'il vous plaît. –

Répondre

0

La fonction SolverOK prend four arguments in Excel 2007 et six arguments in Excel 2010. Les deux arguments supplémentaires qu'il prend dans Excel 2010 spécifient le moteur de résolution. Si vous supprimez ces arguments, cela devrait fonctionner.

Une autre façon de spécifier le moteur LP Simplex consiste à définir SolverOptions AssumeLinear:=True. Cela devrait fonctionner correctement pour les deux versions.

+0

Sir Vraiment Désolé, mais je ne suis pas sûr de savoir comment modifier le code. Voici le code d'erreur 'Application.Run" SolverOk "," $ ak $ 2 ", 1," 0 "," $ g $ 2: $ g $ 200 ", 2," Simplex LP "**' si méchant pour dire qu'il devrait être 'Application.Run "SolverOk", "$ ak $ 2", 1, "0", "$ g $ 2: $ g $ 200, SolverOptions AssumeLinear: = True' - Est-ce vrai –

+0

Changez-le en Application.Run "SolverOk", "$ ak $ 2", 1, "0", "$ g $ 2: $ g $ 200". – Ioannis

+0

puis ajouter SolverOptions AssumeLinear: = True dans une ligne différente – Ioannis