En av Microsoft Excel mektigste funksjonene er " Goal Seek " - evnen til å finne en verdi for en celle som produserer et bestemt resultat i en annen celle . Vanligvis kan du finne Målsøking i "Data "-menyen eller " Ribbon "-kategorien , men hvis du trenger å kjøre Goal Seek mange ganger , kan du være i stand til å spare mye tid ved å automatisere det med en Visual Basic for Applications (VBA ) makroer . Heldigvis er Goal Seek fullt integrert i VBA , så skrive en makro for å bruke det er enkelt. Instruksjoner
en
Åpne Excel- dokument der du ønsker å kjøre Goal Seek makro.
2
Finn de to cellene du ønsker å bruke for Goal Seek . Den første skal være cellen som du har et fast mål . Den andre skal være en celle du tillater Excel til å endre for å oppfylle dette målet. Den første cellens verdi må være en formel som er basert på den andre cellen - ellers gjør uansett hvilke endringer Excel til den andre cellen , vil ingen endringer vises i den første
3
Åpne Macro vinduet. I Excel 2007 eller senere , kan du gjøre dette ved å klikke på "View "-fanen på båndet , og deretter klikke på " Makroer . " I tidligere versjoner av Excel , klikker du på " Verktøy "-menyen , velg " Macro ", velg deretter " Makroer ".
4
Skriv inn et navn for din Målsøking makro i Macro -vinduet , og klikk " Opprett. " Dette vil starte Visual Basic for Applications redaktør og vise deg teksten i den nye Macro , som vil starte opp som en tom subrutine som dette : en
Sub MyMacroName ( ) End Sub
5
Lag en Range objekt som representerer cellen som du ha et visst mål (den første celle fra trinn 2). For eksempel, hvis du ønsker å Målsøking celle A1 , skriv : .
Dim goalCell Som RangegoalCell = ThisWorkbook.Worksheet ( 1 ) Range (" A1 ")
6
Lag en Range objekt som representerer cellen du ønsker Excel for å endre for å forårsake den første cellen å nå kjent mål . For eksempel, hvis du ønsker Excel til å manipulere celle A2 , skriv : .
Dim variableCell Som RangevariableCell = ThisWorkbook.Worksheet ( 1 ) Range (" A2" )
7
Ring GoalSeek metoden på målet cellens Range. Som det første argumentet , gir den verdien du vil at det skal Målsøking til, som det andre argumentet , gir den variable cellens Range. For eksempel, hvis du ønsker å Målsøking til 0 , skrive : en
goalCell.GoalSeek ( 0 , variableCell )