Como usar o Goal Seek no Visual Basic

Escrito por samuel porter | Traduzido por aline kachel araujo
Como usar o Goal Seek no Visual Basic
Saiba como ganhar tempo usando o Goal Seek no Visual Basic (Jupiterimages/Photos.com/Getty Images)

Uma das funções mais poderosas do Microsoft Excel é o "Goal Seek" - a possibilidade de encontrar um valor de célula que produz um resultado determinado em outra célula. Normalmente, você pode acessar o Goal Seek através do menu "Dados" ou da guia "Laço", mas se você precisar executar o Goal Seek várias vezes, você pode economizar muito tempo automatizando o processo com uma macro do Visual Basic para Aplicativos (VBA). Felizmente o Goal Seek é totalmente integrado ao VBA, então, é fácil escrever uma macro para usar.

Instruções

  1. 1

    Abra o documento do Excel no qual você quer executar sua macro Goal Seek.

  2. 2

    Localize as duas células nas quais você deseja usar o Goal Seek. A primeira célula deve ser a que tem um objetivo fixo. A segunda célula deve ser aquela cujo valor você permite que o Excel mude para atingir o objetivo. O valor da primeira célula deve ser uma fórmula baseada na segunda célula, ou então, independente de quantas mudanças o Excel faça na segunda célula, nenhuma mudança acontecerá na primeira.

  3. 3

    Abra a janela de Macros. No Excel 2007 ou versões mais recentes, clique na guia "Exibição" e clique em "Macros". Nas versões mais antigas do Excel, clique no menu "Ferramentas", escolha a opção "Macro" e depois a opção "Macros".

  4. 4

    Digite um nome para sua macro Goal Seek na janela de macros e clique em "Criar". Isso vai abrir o editor do Visual Basic para Aplicativos e exibir o texto da nova Macro, que vai começar como uma sub-rotina em branco assim:

    Sub NomeDaMacro() End Sub

  5. 5

    Crie um objeto Range que represente a célula para qual você tem um objetivo definido (a primeira célula do Passo 2). Por exemplo, caso você queira usar o Goal Seek na célula A1, escreva:

    Dim celulaDestino As Range celulaDestino = EstaPasta.Planilha(1).Range("A1")

  6. 6

    Crie um objeto Range que represente a célula que você quer que o Excel altere para que a primeira célula tenha o resultado desejado. Por exemplo, caso você queira que o Excel manipule a célula A2, escreva:

    Dim celulaVariavel As Range celulaVariavel = EstaPasta.Planilha(1).Range("A2")

  7. 7

    Chame o método GoalSeek no Range da célula objetivo. Como primeiro argumento, coloque o valor que você quer que a célula tenha; como segundo argumento, coloque o Range da célula variável. Por exemplo, caso você queira que o Goal Seek dê 0, escreva:

    celulaDestino.GoalSeek(0, celulaVariavel)

Dicas & Advertências

  • Como o Visual Basic é muito poderoso, erros em macros VB podem facilmente causar muitos dados em sua planilha. Faça uma cópia de segurança de sua planilha antes de tentar uma macro nova.
Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível