Uma das funções mais poderosas do Microsoft Excel é “Objetivo” (a capacidade de encontrar um valor para uma célula que produz um determinado resultado em outra célula). Normalmente, você pode encontrar a Busca de meta no menu “Dados” ou na guia “Faixa de opções”, mas se precisar executar a Busca de meta várias vezes, provavelmente poderá economizar muito tempo automatizando essa opção com um Visual Basic (VBA) para um aplicativo de macro. Felizmente, o Goal Seek é totalmente integrado ao VBA, portanto, é fácil escrever uma macro para usar.
Passo 1
Abra o documento do Excel no qual você deseja executar sua macro de busca de objetivo.
Etapa 2
Encontre duas células nas quais você gostaria de usar a Busca de meta. O primeiro deve ser a célula na qual você tem um objetivo fixo. O segundo deve ser o local onde você permite que o Excel mude para atingir o objetivo. O valor da primeira célula deve ser uma fórmula baseada na segunda fórmula (caso contrário, as alterações feitas pelo Excel na segunda célula não importam, pois não aparecerão na primeira).
Etapa 3
Abra a janela macro. No Excel 2007 ou posterior, você faz isso clicando na guia “Exibir” na lista e depois em “Macros”. Nas versões anteriores do Excel, clique no menu “Ferramentas”, escolha “Macros” e depois em “Macros”.
Etapa 4
Digite o nome da sua macro Object Seek na janela Macro e clique em “Criar”. Isso iniciará o programa Visual Basic para os aplicativos do editor e mostrará o texto da nova macro, que aparecerá como uma sub-rotina vazia como esta:
Sub MyMacroName () End Sub
Etapa 5
Eles criam um intervalo de objetos que representa a célula para a qual você tem um objetivo conhecido (a primeira célula na Etapa 2). Por exemplo, se você deseja uma busca por objetivo para a célula A1, digite:
Dim goalCell As Range goalCell = ThisWorkbook.Worksheet (1) .Range (“A1”)
Etapa 6
Crie um intervalo de objetos que represente a célula que você deseja que o Excel altere para que a primeira célula atinja o novo destino. Por exemplo, se você deseja que o Excel manipule a célula A2, digite:
Dim variableCell As Range variableCell = ThisWorkbook.Worksheet (1) .Range (“A2”)
Etapa 7
Procure o método GoalSeek no intervalo da célula de destino. Como primeiro argumento, ele oferece o valor no qual você deseja aplicar a Busca de meta; como argumento, ele oferece o intervalo da célula variável. Por exemplo, se você deseja aplicar a Busca de meta a 0, digite:
goalCell.GoalSeek (0, variableCell)