Vídeo: EXCEL VBA BASICO - AULA 04 - EDITOR DO VBA E DEPURACAO DO CODIGO (APRENDA COM MASTER MR) 2024
Você pode usar a função InputBox para adicionar caixas de diálogo às macros do Excel 2013. Quando você executa a macro, esta função do Visual Basic faz com que o Excel exiba uma caixa de diálogo de Entrada onde você pode inserir qualquer título que faça sentido para a nova planilha. A macro coloca esse texto na célula atual e formata esse texto, se é isso que você treinou sua macro para fazer a seguir.
Para ver como é fácil usar a função InputBox para adicionar interatividade a uma macro de outra forma, siga as etapas para converter a macro Company_Name que atualmente insere o texto "Mind Over Media" para um que realmente solicita o nome que você deseja entrar. A função InputBox usa a seguinte sintaxe:
InputBox (prompt [título] [padrão] [xpos] [ypos] [helpfile, context])
Nesta função, apenas o prompt > argumento é necessário com o restante dos argumentos sendo opcional. O argumento prompt especifica a mensagem que aparece dentro da caixa de diálogo de Entrada, solicitando ao usuário que digite um novo valor (ou, neste caso, um novo nome de empresa). O argumento
prompt pode ter um máximo de 1, 024 caracteres. Se quiser que a mensagem de aviso apareça em linhas diferentes dentro da caixa de diálogo, você insere as funções Chr (13) e Chr (10) no texto (para inserir um retorno de carro e um retorno de linha na mensagem, respectivamente).
título opcional especifica o texto a ser exibido na barra de título da caixa de diálogo Entrada. Se você não especificar um argumento título , o Excel exibirá o nome do aplicativo na barra de título. O argumento opcional padrão especifica a resposta padrão que aparece automaticamente na caixa de texto na parte inferior da caixa de diálogo Entrada. Se você não especificar um argumento padrão, a caixa de texto está vazia na caixa de diálogo Entrada.
xpos e ypos especificam a distância horizontal da margem esquerda da tela para a margem esquerda da caixa de diálogo e a distância vertical da borda superior da tela até a borda superior da caixa de diálogo. Se você não especificar esses argumentos, o Excel centraliza a caixa de diálogo de entrada horizontalmente e posiciona-a aproximadamente a um terço do caminho na tela verticalmente. Os argumentos opcionais
helpfile e contexto especificam o nome do arquivo de Ajuda personalizado que você disponibiliza ao usuário para explicar o funcionamento da caixa de diálogo de entrada, bem como o tipo de dados que aceita. Como parte do processo de criação de um arquivo de ajuda personalizado para uso no sistema de Ajuda do Excel, você atribui ao tópico um número de contexto apropriado ao seu conteúdo, que é então especificado como o argumento
contexto para o Função InputBox. Quando você especifica um arquivo de ajuda e
contexto argumento para esta função, o Excel adiciona um botão de Ajuda à caixa de diálogo de Entrada personalizada que os usuários podem clicar para acessar o arquivo de ajuda personalizado na janela de Ajuda. Antes de adicionar a linha de código à macro com a função InputBox, você precisa encontrar o local nos comandos do Visual Basic onde a linha deve ir. Para inserir o texto Mind Over Media na célula ativa, a macro Company_Name usa o seguinte comando Visual Basic:
ActiveCell. FormulaR1C1 = "Mind Over Media"
Para adicionar interatividade à macro, você precisa inserir a função InputBox em uma linha na janela de código acima deste ActiveCell. Declaração FormulaR1C1, da seguinte maneira:
Posicione o ponto de inserção na janela Código no início do ActiveCell. FormulaR1C1 e pressione Enter para inserir uma nova linha.
-
Agora que você adicionou uma nova linha, você precisa mover o ponto de inserção até ele.
Pressione a tecla de seta para cima para posicionar o ponto de inserção no início da nova linha.
-
Nesta linha, você deseja criar uma variável que forneça o argumento
prompt à função InputBox. Para fazer isso, você indica o nome da variável (InputMsg neste caso) seguido de sua entrada atual. Certifique-se de incluir o texto da mensagem no lado direito do sinal de igual em um par fechado de aspas duplas. Digite o seguinte código para criar a variável InputMsg na linha 8 e, em seguida, pressione a tecla Enter para iniciar uma nova linha 9:
-
InputMsg = "Digite o nome ou o título da empresa para esta planilha na caixa de texto abaixo e depois clique em OK: "
Em seguida, você cria uma variável chamada InputTitle que fornece o argumento
título opcional para a função InputBox. Esta variável faz com que o texto "Spreadsheet Title" apareça como o título da caixa de diálogo Input. Novamente, não se esqueça de incluir o nome da barra de título da caixa de diálogo entre aspas. Digite o seguinte código para criar a variável InputTitle na linha 9 e, em seguida, pressione Enter para inserir uma nova linha 10:
-
InputTitle = "Spreadsheet Title"
Em seguida, você criou um nome de variável DefaultText que forneceu o opcional
padrão para a função InputBox. Esta variável faz com que o texto, "Mind Over Media", apareça como a entrada padrão na caixa de texto na parte inferior da caixa de diálogo Custom Company Name Input. Digite o seguinte código para criar a variável DefaultText na linha 10 e, em seguida, pressione Enter para inserir uma nova linha 11:
-
DefaultText = "Mind Over Media"
Em seguida, você cria uma variável final denominada CompanyName que especifica a função InputBox como sua entrada (usando as variáveis InputMsg, InputTitle e DefaultText que você acabou de criar) e armazena os resultados desta função.
Digite o seguinte código para criar a variável SpreadsheetTitle que usa a função InputBox na linha 11:
-
SpreadsheetTitle = InputBox (InputMsg, InputTitle, DefaultText)
Finalmente, você substitui o valor "Mind Over Media", no ActiveCell.Propriedade FormulaR1C1 com a variável SpreadsheetTitle (cujo valor é determinado por qualquer coisa que seja inserida na caixa de diálogo Input Title Entry), efetivamente substituindo esta constante na macro com os meios para tornar esta entrada verdadeiramente interativa.
Selecione "Mind Over Media" na linha 12 e substitua-o por SpreadsheetTitle (sem aspas).
-
Salve a macro editada clicando no botão Salvar na barra de ferramentas do Visual Basic e depois volte para a planilha clicando no botão Exibir Microsoft Excel ou pressionando Alt + F11. Em seguida, clique no botão Ocultar no grupo Janela da guia VIEW.
-
Agora, você está pronto para abrir uma nova pasta de trabalho e executar a macro editada pressionando Ctrl + N.
A figura mostra a janela Código com a macro editada da Company_Name depois de adicionar as instruções que a tornam interativa.
A figura a seguir mostra a caixa de diálogo Título da planilha na ação na planilha. Esta caixa de diálogo de entrada agora aparece automaticamente e solicita a entrada sempre que você executa a versão editada e agora totalmente interativa da macro Company_Name.
Para seguir em frente e entrar Mind Over Media na célula atual e, em seguida, formatá-lo usando o resto dos comandos de macro, basta clicar em OK nesta caixa de diálogo personalizada. Para inserir e formatar o nome de outra empresa, basta digitar o nome da empresa (que substitui automaticamente Mind Over Media na caixa de texto) antes de clicar em OK.