Comment utiliser Goal Seek en Visual Basic

Une des fonctionnalités les plus puissantes de Microsoft Excel est "Goal Seek"--la capacité à trouver une valeur pour une cellule qui produit un certain résultat dans une autre cellule. Normalement, vous pouvez trouver dans le but Seek "Données" menu ou "Ruban" onglet, mais si vous devez exécuter la recherche de solution à plusieurs reprises, vous pourriez être en mesure d'économiser beaucoup de temps en automatisant avec un Visual Basic pour Applications (VBA). Heureusement, Goal Seek est entièrement intégré dans VBA, afin d'écrire une macro à utiliser, il est facile.

Instructions

  1. 1

    Ouvrez le document Excel dans lequel vous souhaitez lancer votre recherche de valeur cible macro.

  2. 2

    Trouver les deux cellules que vous souhaitez utiliser pour l'objectif de recherche. Le premier devrait être la cellule pour laquelle vous avez un objectif fixe. Le second doit être une cellule Excel vous permettez de changer afin de remplir cet objectif. La valeur de la première cellule doit être une formule qui repose sur la deuxième cellule - autrement, peu importe ce qui change Excel permet à la seconde cellule, aucun changement apparaîtra dans le premier.

  3. 3

    Ouvrez la fenêtre Macro. Dans Excel 2007 ou plus tard, le faire en cliquant sur le "Vue" onglet du ruban, puis en cliquant sur "Macros." Dans les versions antérieures d'Excel, cliquez sur le "Outils" menu, choisissez "Macro," puis choisissez "Macros."

  4. 4



    Tapez un nom pour votre recherche de valeur cible macro dans la fenêtre Macro, puis cliquez sur "Créer." Cela va lancer le Visual Basic pour Applications éditeur et vous montrer le texte de la nouvelle macro, qui débutera comme un sous-programme vide comme ceci:

    Sous MyMacroName ()
    End Sub

  5. 5

    Créer un objet Range représente la cellule pour laquelle vous avez un objectif connu (la première cellule de l'étape 2). Par exemple, si vous souhaitez Goal Seek cellule A1, écrire:

    Dim goalCell Comme Range
    goalCell = ThisWorkbook.Worksheet (1) .Range ("A1")

  6. 6



    Créer un objet Range représente la cellule que vous souhaitez Excel pour passer à provoquer la première cellule pour atteindre l'objectif connu. Par exemple, si vous souhaitez Excel pour manipuler la cellule A2, écrire:

    Dim variableCell Comme Range
    variableCell = ThisWorkbook.Worksheet (1) .Range ("A2")

  7. 7

    Appelez la méthode GoalSeek sur Range de la cellule de but. Comme le premier argument, fournir la valeur que vous souhaitez qu'il Goal Seek To- comme second argument, fournir une gamme de la cellule variable. Par exemple, si vous souhaitez Objectif Chercher à 0, écrire:

    goalCell.GoalSeek (0, variableCell)

Conseils & Avertissements

  • Parce que Visual Basic est si puissant, des erreurs de macros VB peuvent facilement causer beaucoup de dommages à votre feuille de calcul. Assurez-vous d'enregistrer une sauvegarde de votre feuille de calcul avant d'essayer une nouvelle macro.
» » » » Comment utiliser Goal Seek en Visual Basic