Como adicionar caixas de diálogo para o Excel Macros com o Editor de Visual Basic
Você pode usar a função InputBox para adicionar caixas de diálogo para seus Excel 2013 macros. Quando você executa a macro, esta função Visual Basic faz com que Excel para exibir uma caixa de diálogo de entrada onde você pode digitar qualquer título faz sentido para a nova planilha. A macro, em seguida, coloca esse texto na célula atual e formatos este texto, se é isso que você treinou a macro para fazer a seguir.
Para ver como é fácil usar a função InputBox para adicionar interatividade a um macro de outra forma sóbria, siga os passos para converter a Companhia_Nome macro que atualmente insere o texto # 147-Mind Over mídia # 148- para um que realmente pede-lhe o nome que deseja entrou. A função InputBox usa a seguinte sintaxe:
InputBox (prompt de [, título] [, default] [, posx] [, ypos] [, helpfile, context])
Nesta função, apenas o pronto argumento é necessário com o resto dos argumentos sendo opcional. o pronto argumento especifica a mensagem que aparece dentro da caixa de diálogo de entrada, solicitando que o usuário insira um novo valor (ou, neste caso, um novo nome da empresa).
o pronto argumento pode ter até um máximo de 1.024 caracteres. Se você deseja que a mensagem pronta para aparecer em diferentes linhas dentro da caixa de diálogo, de introduzir as funções Chr (13) e Chr (10) no texto (para inserir um retorno de carro e um avanço de linha na mensagem, respectivamente).
o opcional título argumento especifica o texto a ser exibido na barra de título da caixa de diálogo de entrada. Se você não especificar um título argumento, Excel exibe o nome do aplicativo na barra de título. o opcional padrão argumento especifica a resposta padrão que aparece automaticamente na caixa de texto na parte inferior da caixa de diálogo de entrada.
Se você não especificar um argumento padrão, a caixa de texto está vazia na caixa de diálogo de entrada.
o posx e ypos argumentos opcionais especificam a distância horizontal desde a borda esquerda da tela para a extremidade esquerda da caixa de diálogo e a distância vertical entre a borda superior do ecrã para o bordo superior da caixa de diálogo. Se você não especificar estes argumentos, o Excel centraliza a caixa de diálogo de entrada horizontal e posiciona aproximadamente um terço do caminho para baixo a tela verticalmente.
o helpfile e contexto argumentos opcionais especificar o nome do arquivo de Ajuda personalizado que você colocar à disposição do 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 o tema um número contexto apropriado ao seu conteúdo, que é então especificado como o contexto argumento para a função InputBox.
Quando você especificar um arquivo de ajuda e contexto argumento para esta função, Excel adiciona um botão 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 para a macro com a função InputBox, você precisa encontrar o lugar nos comandos do Visual Basic onde a linha deve ir. Para inserir o texto Mind Over mídia para dentro da célula ativa, a Companhia_Nome macro usa o seguinte comando Visual Basic:
ActiveCell.FormulaR1C1 = "Mind Over mídia"
Para adicionar interatividade para a macro, você precisa inserir a função InputBox em uma linha na janela de código logo acima dessa ActiveCell.FormulaR1C1 instrução, como segue:
Posicione o ponto de inserção na janela de código no início da declaração 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 seta para cima para posicionar o ponto de inserção no início da nova linha.
Nesta linha, que pretende criar uma variável que fornece o pronto argumento para a função InputBox. Para fazer isso, você indicar 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 pressione a tecla Enter para iniciar uma nova linha 9:
InputMsg = "Digite o nome da empresa ou título para essa planilha na caixa de texto abaixo e clique em OK:"
Em seguida, você cria uma variável chamada InputTitle que abastece o opcional título argumento para a função InputBox. Esta variável faz com que o texto # 147 Spreadsheet Title # 148- aparecer como o título da caixa de diálogo de entrada. Mais uma vez, não se esqueça de colocar o nome para a 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 Título"
Em seguida, você criar um nome DefaultText variável que forneceu o opcional padrão argumento para a função InputBox. Esta variável faz com que o texto, # 147-Mind Over Media, # 148- aparecer como a entrada padrão na caixa de texto na parte inferior da caixa de diálogo de entrada Nome da Empresa personalizado.
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 mídia"
Em seguida, você cria uma variável chamada CompanyName final que especifica a função InputBox como a 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ê substituir o valor, # 147-Mind Over mídia # 148-, na ActiveCell.FormulaR1C1 propriedade com a variável SpreadsheetTitle (cujo valor é determinado por tudo o que é de entrada na caixa de diálogo de entrada Título Spreadsheet), assim, efetivamente substituindo esta constante na macro com os meios para fazer esta entrada verdadeiramente interativa.
selecionar # 147-Mind Over mídia # 148- na linha 12 e substituí-la por SpreadsheetTitle (sem aspas).
Salve a macro editada clicando no botão Salvar na barra de ferramentas do Visual Basic e, em seguida, retornar à planilha, clicando no botão Ver 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 de código com a Companhia editado_Nome macro depois de adicionar as declarações que o tornam interativa.
A figura a seguir mostra a caixa de diálogo Título da folha de cálculo em ação na planilha. Esta caixa de diálogo de entrada agora aparece automaticamente e pede-lhe para entrada sempre que executar a versão editada e agora totalmente interativo do macro Company_Name.
Para ir em frente e entrar Mind Over mídia para dentro da 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, você simplesmente digitar o nome da empresa (que substitui automaticamente Mind Over mídia na caixa de texto) antes de clicar em OK.