Busca de meta no VBA

A busca de metas no VBA é o processo pelo qual podemos atingir a meta que queremos alcançar. Esse é um processo como o que mostra quanto precisamos fazer para atingir o conjunto de metas. Suponha que um trem tenha a hora de chegada diariamente às 10h. O trem funciona de segunda a sexta-feira entre A e B. E considerando o tempo médio de chegada desse trem de A a B é exatamente 10h sem demora. Portanto, se é o horário de chegada desse trem 10:16, 10:01, 9:57, 10:04 por 4 dias consecutivos, de segunda a quinta-feira. E para manter o tempo médio das 10h, que é a meta estabelecida para esse trem, ele precisa chegar às 9h45, apenas para manter o tempo médio de chegada das 10h. Isso pode ser ainda mais interessante se tivermos algo para automatizar. Chega a busca do objetivo do VBA .

Sintaxe para a busca de meta:

Abaixo está a sintaxe do VBA Goal Seek.

Onde,

  • Intervalo: a célula do intervalo de destino que contém o limite atual.
  • Objetivo : o limite ou meta que queremos alcançar.
  • Mudando a célula: a célula onde veremos o limite necessário a ser alcançado.

Como usar a busca de meta no Excel VBA?

Aprenderemos como usar a Busca de meta no Excel usando o Código VBA.

Você pode fazer o download deste modelo do Excel de busca de objetivo do VBA aqui - Modelo do Excel de busca de objetivo do VBA

Busca de meta do VBA - exemplo # 1

A precisão média que os funcionários devem manter seus 95% semanalmente. Abaixo, temos os dados de precisão do funcionário de segunda a quinta-feira com uma precisão média de 92, 25%, mencionada na célula C8, como mostrado abaixo.

Agora, conforme a sintaxe da Busca de meta, temos a célula Range, que possui o valor atual para alimentar e o valor Target, que é a precisão média de 90% que deve ser alcançada por esse funcionário.

Neste exemplo, onde a precisão do trabalho de um funcionário está sendo monitorada. Para isso, siga as etapas abaixo:

Etapa 1 : Abra o módulo na guia do menu Inserir, como mostrado abaixo.

Etapa 2: Agora escreva o procedimento Sub da Busca de meta do VBA, como mostrado abaixo. Podemos escolher qualquer nome para definir isso.

Código:

 Sub Goal_Seek () End Sub 

Etapa 3: conforme a sintaxe, selecionaremos a célula Range que contém a média atual a ser alimentada. Aqui essa célula é C8.

Código:

 Intervalo de sub meta_procurar () ("C8"). End Sub 

Etapa 4: agora selecione a função de busca de meta e, conforme a sintaxe, selecione o valor desejado que precisamos atingir. Aqui, essa meta é 90% precisa.

Código:

 Sub Goal_Seek () Intervalo ("C8"). Objetivo da GoalSeek: = 90 End Sub 

Etapa 5: agora, finalmente, selecione o intervalo dessa célula, onde precisamos ver a precisão necessária a ser alcançada. Aqui essa célula é C6 com referência a sexta-feira.

Código:

 Sub Goal_Seek () Intervalo ("C8"). Objetivo GoalSeek: = 90, ChangingCell: = Intervalo ("C6") End Sub 

Etapa 6: agora que terminar, compilaremos o código e o executaremos. Veremos que a célula C6 tem o valor de Alterar célula como 81. Isso significa que, se o funcionário conseguiu atingir até 81% de precisão na sexta-feira, ele poderá facilmente atingir a precisão de 90%.

Busca de meta do VBA - exemplo # 2

Neste exemplo, temos dados de tempo de retorno (TAT ou tempo para concluir a atividade) de algum funcionário de uma equipe que executa a mesma tarefa todos os dias. 5 funcionários realizam a mesma atividade de segunda a sexta-feira. O tempo alvo é definido para concluir essa atividade é de 50 minutos. E precisamos descobrir quanto tempo cada funcionário precisa para manter o tempo médio de conclusão de 50 minutos ou menos. Para isso, siga as etapas abaixo:

Etapa 1: no módulo, escreva o subprocedimento para a busca de metas do VBA, como mostrado abaixo.

Código:

 Sub Goal_Seek2 () End Sub 

Etapa 2: defina uma variável pela qual possamos contar a partir de onde precisamos iniciar a busca por objetivo por muito tempo.

Código:

 Sub Goal_Seek2 () Dim A As Long End Sub 

Etapa 3: Agora defina mais 2 variáveis ​​usando DIM com o tipo de dados Range . Primeiro será usado para rastrear a média final atual e o segundo será usado para vincular a célula de referência onde queremos a saída.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo End Sub 

Etapa 4: defina outra variável como Inteiro para definir a meta que queremos atingir.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como inteiro End Sub 

Etapa 5: aqui nossa meta é 50 minutos, então defina a variável Target com esse valor.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como número inteiro alvo = 50 End Sub 

Etapa 6: Abra um loop For-Next, como mostrado abaixo.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como número inteiro alvo = 50 para o próximo ponto final Sub 

Etapa 7: Agora selecione o intervalo dessas células que possui os valores. Aqui essas linhas são de 3 a 7 números.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como número inteiro alvo = 50 Para A = 3 a 7 Próximo A End Sub 

Etapa 8: defina a média final de onde queremos chegar. Aqui essa célula está na linha 9.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como número inteiro alvo = 50 Para A = 3 a 7 Defina FinalAvg = células (9, A) Próximo A End Sub 

Etapa 9: defina da mesma forma o intervalo de células de referência, onde queremos ver a meta buscar valor para atingir a meta e a linha da célula é 7.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como número inteiro alvo = 50 Para A = 3 a 7 Defina FinalAvg = células (9, A) Defina referência = células (7, A) Próximo final Sub 

Etapa 10: por fim, aplique a Busca de meta do VBA com sintaxe adequada, como mostrado abaixo.

Código:

 Sub Goal_Seek2 () Dim A como longo Dim FinalAvg como intervalo Dim referência como intervalo Dim alvo como número inteiro alvo = 50 Para A = 3 a 7 Defina FinalAvg = Células (9, A) Defina referência = células (7, A) FinalAvg.GoalSeek Alvo, Referência Próximo A Fim Sub 

Etapa 11: Agora compile o código completo pressionando a tecla de função F8 e execute depois se nenhum erro for encontrado.

Veremos que, na linha 7, com a ajuda da Goal Seek, teremos tempo em minutos que cada funcionário terá que alcançar na sexta-feira para manter a média de 50 minutos ou menos.

É assim que o VBA Goal Seek funciona.

Profissionais da busca de metas do Excel VBA

  • A Busca de Objetivos do VBA é bastante útil para rastrear o desempenho de várias maneiras.
  • Isso também pode ser usado em muitos trabalhos estatísticos em que precisamos rastrear e direcionar o limite de dados que queremos alcançar.
  • Isso indica o valor exato que a pessoa precisa atingir para atingir o objetivo.

Coisas para lembrar

  • Isso pode ser usado no Excel e no VBA.
  • A célula de resultado com função média ou outra sempre deve ter a fórmula.
  • Podemos inserir o valor desejado em Objetivo na sintaxe de busca de objetivo, ou então podemos defini-lo anteriormente separadamente também.
  • Podemos alterar e atualizar o valor-alvo de acordo com nossas necessidades e exigências.
  • Esta tarefa não pode ser executada gravando a opção de macros disponível na guia do desenvolvedor.
  • Uma vez feito, lembre-se de salvar o arquivo do Excel no formato de habilitação de macro para manter o código escrito.

Artigo recomendado

Este é um guia para a busca de metas do VBA. Aqui discutimos como usar a Busca de meta no VBA do Excel, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Coleção VBA (exemplos)
  2. Instruções IF do VBA | Modelos do Excel
  3. Como usar a função de classificação Excel VBA?
  4. VBA While Loop (exemplos com modelo do Excel)
  5. Função VBA Environ

Categoria: