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 VBABusca 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 -
- Coleção VBA (exemplos)
- Instruções IF do VBA | Modelos do Excel
- Como usar a função de classificação Excel VBA?
- VBA While Loop (exemplos com modelo do Excel)
- Função VBA Environ