Atingir meta no Excel VBA
Goal Seek é a ferramenta disponível no excel VBA, que nos ajuda a encontrar o número necessário a ser alcançado para chegar à meta definida.
Por exemplo, você é um estudante e teve como meta uma pontuação média de 90% em seis disciplinas disponíveis. A partir de agora, você concluiu 5 exames e fica com apenas uma matéria. Suas pontuações antecipadas de cinco disciplinas concluídas são 89, 88, 91, 87, 89 e 90. Agora você quer saber quanto precisa pontuar no exame final para atingir a meta percentual média geral de 90%.
Isso pode ser feito usando GOAL SEEK na planilha do Excel, bem como na codificação VBA. Vamos ver como funciona com o VBA.
Sintaxe de busca de metas VBA
No VBA Goal Seek, precisamos especificar o valor que estamos alterando e chegar ao resultado final pretendido, portanto, forneça a referência da célula usando o objeto VBA RANGE. Posteriormente, podemos acessar a opção GOAL SEEK.
Abaixo está a sintaxe da busca por objetivo no VBA.
- Range (): neste, precisamos fornecer a referência de célula onde precisamos atingir o valor desejado.
- Objetivo: neste argumento, precisamos inserir qual é o objetivo que estamos tentando alcançar.
- Mudando a célula: neste argumento, precisamos fornecer alterando o valor da célula que precisamos para atingir o objetivo.
Exemplos de Excel VBA Goal Seek
A seguir estão os exemplos de busca de metas no Excel VBA.
VBA Goal Seek - Exemplo # 1
Vamos dar o exemplo de uma nota média de exame apenas. Abaixo está a pontuação prevista de 5 disciplinas no exame concluído.
Primeiro, precisamos chegar a qual é a pontuação média das 5 disciplinas concluídas. Aplique a função AVERAGE na célula B8.
Neste exemplo, nossa meta é 90, e a célula mutante será B7 . Portanto, o Goal Seek nos ajudará a encontrar a pontuação desejada do assunto final para atingir a média geral de 90.
Inicie o subprocedimento no módulo de classe VBA.
Código:
Sub Goal_Seek_Example1 () End Sub
Agora precisamos do resultado na célula B8, então forneça essa referência de intervalo usando o objeto RANGE.
Código:
Sub Goal_Seek_Example1 () Range ("B8") End Sub
Agora coloque um ponto e entre na opção “Goal Seek”.
O primeiro argumento é “objetivo” para isso. Precisamos inserir nosso objetivo final para chegar em RANGE B8. Neste exemplo, estamos tentando atingir a meta de 90.
Código:
Sub Goal_Seek_Example1 () Intervalo ("B8"). Objetivo GoalSeek: = 90 End Sub
O próximo argumento é “Changing Cell” para isso, precisamos fornecer em qual célula precisamos do novo valor para atingir o objetivo.
Código:
Sub Goal_Seek_Example1 () Range ("B8"). GoalSeek Goal: = 90, ChangingCell: = Range ("B7") End Sub
Neste exemplo, nossa célula em mudança é a célula Sub 6, ou seja, a célula B7.
Ok, vamos executar o código para ver o que precisa ser feito no assunto final para atingir a porcentagem média geral de 90.
Então, na matéria final, 95 pontos devem ser pontuados para se obter a média geral de 90.
VBA Goal Seek - Exemplo # 2
Aprendemos como aplicar GOAL SEEK para encontrar o número necessário para atingir a meta. Agora veremos alguns exemplos avançados de como encontrar a pontuação do exame final para mais de um aluno.
Abaixo estão as pontuações antecipadas de 5 matérias após o exame.
Como estamos encontrando a meta para mais de um aluno, precisamos usar loops. Abaixo está o código para você.
Código:
Sub Goal_Seek_Example2 () Dim k As Long Dim ResultCell As Range Dim ChangingCell As Range Dim TargetScore As Integer TargetScore = 90 For k = 2 a 5 Set ResultCell = Cells (8, k) Set ChangingCell = Cells (7, k) ResultCell.GoalSeek TargetScore, ChangingCell Next k End Sub
Este código percorrerá todas as notas dos alunos e chegará à nota final do exame necessária para atingir a média geral de 90.
Então, temos o resultado final agora como,
O aluno A precisa marcar apenas 83 para garantir a porcentagem geral de 90, e o aluno D precisa marcar 93.
Mas olhe para o Aluno B e C. Eles precisam obter 104 notas cada no exame final, o que não é possível.
Assim, usando a análise GOAL SEEK, podemos encontrar o número necessário para atingir o número desejado no meio do projeto ou processo.
Coisas para lembrar
- O Goal Seek está disponível com as ferramentas de planilha e também com a ferramenta VBA.
- A célula resultante deve sempre conter uma fórmula.
- Precisamos inserir o valor da meta e alterar a referência da célula para a ferramenta de busca de metas.