Ett av Microsofts Excel mest kraftfulla funktioner är " Goal Seek " - förmågan att hitta ett värde för en cell som producerar ett visst resultat i en annan cell . Normalt kan du hitta målvärdessökning i " Data " -menyn eller " Ribbon "-fliken , men om du behöver köra målvärdessökning många gånger , kanske du kan spara mycket tid genom att automatisera den med ett Visual Basic for Applications ( VBA ) makron. Lyckligtvis är målvärdessökning helt integrerat i VBA , så att skriva ett makro för att använda det är lätt . Instruktioner
1
Öppna Excel- dokumentet där du vill köra din Målvärdessökning makro .
2
Hitta de två celler som du vill använda för Goal Seek . Den första ska vara den cell som du har ett fast mål . Den andra ska vara en cell du låta Excel förändras för att uppfylla detta mål . Den första cellens värde måste vara en formel som är baserad på den andra cellen - annars gör oavsett vilka förändringar Excel till den andra cellen , kommer inga förändringar att visas i första
3
Öppna Macro fönstret . I Excel 2007 eller senare , gör detta genom att klicka på "Visa " -fliken i menyfliksområdet , klicka " Makron . " I tidigare versioner av Excel , klicka på menyn "Verktyg" , välj " Macro " välj sedan " Makron . "
4
Skriv ett namn för din målvärdessökning makrot i makro-fönstret , och klicka på " Skapa ". Detta kommer att lansera Visual Basic for Applications redaktör och visar dig texten i den nya Macro , vilket kommer att börja som en tom subrutin så här :
Sub MyMacroName ( ) End Sub
5
Skapa en Range -objekt som representerar den cell som du har känd mål ( den första cellen från steg 2 ) . Till exempel , om du vill Målvärdessökning cell A1 , skriv : .
Dim goalCell Som RangegoalCell = ThisWorkbook.Worksheet ( 1 ) Range ( " A1 " )
6
Skapa en Range -objekt som representerar den cell du vill att Excel ska ändra för att få den första cellen för att nå kända målet . Till exempel , om du vill att Excel för att manipulera cell A2 , skriv : .
Dim variableCell Som RangevariableCell = ThisWorkbook.Worksheet ( 1 ) Range ( " A2 " )
7
Ring GoalSeek metoden på målet cellens räckvidd . Som det första argumentet , ger det värde du vill att den ska Målsökning till , som det andra argumentet , att ge den rörliga cellens räckvidd . Till exempel , om du vill Målsökning till 0 , skriv :
goalCell.GoalSeek ( 0 , variableCell ) katalog