Come utilizzare Ricerca obiettivo in Visual Basic

April 9

Una delle caratteristiche più potenti di Microsoft Excel è "Ricerca obiettivo" - la capacità di trovare un valore per una cella che produce un certo risultato in un'altra cella. Normalmente, è possibile trovare Ricerca obiettivo nel menu "Dati" o scheda "Ribbon", ma se è necessario eseguire la Ricerca obiettivo molte volte, si può essere in grado di risparmiare un sacco di tempo automatizzando con un Visual Basic, Applications Edition ( VBA). Per fortuna, Ricerca obiettivo è completamente integrato nel VBA, in modo da scrivere una macro per usarlo è facile.

istruzione

1 Aprire il documento di Excel in cui si desidera eseguire la Ricerca obiettivo macro.

2 Trova le due celle che si desidera utilizzare per la Ricerca obiettivo. Il primo dovrebbe essere la cellula per il quale si dispone di un obiettivo fisso. La seconda dovrebbe essere una cella di Excel si consente di cambiare per realizzare questo obiettivo. Il valore della prima cella deve essere una formula che si basa sulla seconda cella - in caso contrario, non importa ciò che cambia Excel rende alla seconda cella, appariranno nessun cambiamento nella prima.

3 Aprire la finestra Macro. In Excel 2007 o successivo, farlo cliccando sulla scheda "Visualizza" della barra multifunzione, quindi facendo clic su "Macro". Nelle versioni precedenti di Excel, fare clic sul menu "Strumenti", scegliere "Macro", quindi scegliere "Macro".

4 Digitare un nome per la Ricerca obiettivo macro nella finestra di Macro e fare clic su "Crea". Questo lancerà il Visual Basic Editor di applicazioni e vi mostrerà il testo del nuovo Macro, che sarà inizialmente come una subroutine vuota come questa:

MyMacroName Sub ()
End Sub

5 Creare un oggetto Range che rappresenta la cella per il quale si dispone di un obiettivo noto (la prima cella dal punto 2). Ad esempio, se si desidera Ricerca obiettivo cella A1, scrivere:

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

6 Creare un oggetto Range che rappresenta la cella vuoi Excel per cambiare a causare la prima cella per raggiungere l'obiettivo nota. Ad esempio, se si desidera Excel per manipolare cella A2, scrivere:

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

7 Chiamare il metodo GoalSeek sulla gamma della cellula obiettivo. Come primo argomento, fornire il valore che desideri a Ricerca obiettivo a; come secondo argomento, fornire intervallo della cella variabile. Ad esempio, se si desidera Ricerca obiettivo a 0, scrivere:

goalCell.GoalSeek (0, variableCell)

Consigli e avvertenze

  • Poiché Visual Basic è così potente, errori nelle macro VB può facilmente causare un sacco di danni al vostro foglio di calcolo. Assicurarsi di salvare una copia di backup del foglio prima di provare una nuova macro.