Trabalhando com userforms em excel 2016 vba
Cada caixa de diálogo Excel que criar no VBA é armazenada em seu próprio objeto UserForm - uma caixa de diálogo por UserForm. Você pode criar e acessar esses UserForms no Editor do Visual Basic.
Conteúdo
Inserir um novo UserForm
Inserir um objeto UserForm, seguindo estes passos:
Activa o VBE pressionando Alt + F11.
Selecione a pasta de trabalho que irá realizar o UserForm na janela do projecto.
Escolha Inserir → UserForm.
O VBE insere um novo formulário de usuário objeto, que contém uma caixa de diálogo vazio.
Aqui está um formulário de usuário - uma caixa de diálogo vazia. Seu trabalho, se você optar por aceitá-la, é adicionar alguns controles a este formulário de usuário.
Video: Advanced Userform
Adicionando controles a um UserForm
Quando você ativa um formulário de usuário, o VBE exibe a caixa de ferramentas em uma janela flutuante. Você pode usar as ferramentas na caixa de ferramentas para adicionar controles ao seu formulário de usuário. Se, por alguma razão, a caixa de ferramentas não aparece quando você ativar o seu formulário de usuário, escolha Exibir → Toolbox.
Para adicionar um controle, basta clicar no controle desejado na caixa de ferramentas e arraste-o na caixa de diálogo para criar o controle. Depois de adicionar um controle, você pode mover e redimensioná-la usando técnicas padrão.
Aqui está uma lista das várias ferramentas, bem como as suas capacidades.
Ao controle | O que faz |
---|---|
Rótulo | mostra texto |
Caixa de texto | Permite que o usuário inserir texto |
Caixa combo | Exibe uma lista drop-down |
ListBox | Exibe uma lista de itens |
CheckBox | Fornece opções como ligar / desligar ou sim / não |
OptionButton | Permite que o usuário selecione uma das várias opções-usado em grupos de dois ou mais |
ToggleButton | Permite ao usuário alternar um botão ligado ou desligado |
Quadro, armação | Contém outros controles |
Botão de comando | Um botão clicável |
TabStrip | exibe as guias |
MultiPage | Um recipiente com guias para outros objectos |
Barra de rolagem | Permite que o usuário arraste uma barra de estabelecer uma definição |
SpinButton | Permite que o usuário clique em um botão para alterar um valor |
Imagem | Mantém uma imagem |
RefEdit | Permite que o usuário selecione um intervalo |
Alterando as propriedades para um controlo UserForm
Cada controle que você adicionar a um UserForm tem propriedades que determinam como os olhares de controle ou se comporta. Além disso, o próprio formulário de usuário tem seu próprio conjunto de propriedades. Você pode alterar essas propriedades com a janela Propriedades apropriadamente chamado. Isto mostra a janela Propriedades quando um controle CommandButton é selecionado.
A janela Propriedades aparece quando você pressiona F4, e as propriedades mostradas nesta janela dependem do que for selecionado. Se você selecionar um controle diferente, as propriedades mudar para aqueles apropriados para esse controle. Para ocultar a janela Propriedades e tirá-lo do caminho, clique no botão Fechar na barra de título. Pressionando F4 sempre traz-lo de volta quando você precisar dele.
Propriedades para controles incluem o seguinte:
Nome
Largura
Altura
Valor
Rubrica
Cada controle tem seu próprio conjunto de propriedades (embora muitos controles têm algumas propriedades comuns). Para alterar uma propriedade usando a janela Propriedades, siga estes passos:
Certifique-se de que o controle correto está selecionado no formulário de usuário.
Certifique-se a janela Propriedades é visível.
Na janela de propriedades, clique na propriedade que você deseja alterar.
Fazer a mudança na parte direita da janela Propriedades.
Se você selecionar o próprio formulário de usuário (não um controle no UserForm), você pode usar a janela Propriedades para ajustar as propriedades UserForm.
Visualizando a janela de código UserForm
Cada objeto UserForm tem um módulo de código que contém o código VBA (os procedimentos do manipulador de eventos) que é executado quando o usuário trabalha com a caixa de diálogo. Para visualizar o módulo de código, pressione F7. A janela de código está vazia até que você adicione alguns procedimentos. Pressione Shift + F7 para retornar à caixa de diálogo.
Aqui está outra maneira de alternar entre a janela de código eo visor UserForm: Use o Código View e botões de exibição de objetos na barra de título da janela Project. Ou direito; clique no formulário de usuário e selecione View Code. Se você estiver visualizando o código, clique duas vezes o nome UserForm na janela Project para retornar ao formulário de usuário.
Exibindo um UserForm
Você exibir um formulário de usuário usando método Show do formulário de usuário em um procedimento VBA.
A macro que exibe a caixa de diálogo deve ser em um módulo VBA - não na janela de código para o UserForm.
O procedimento a seguir mostra a caixa de diálogo chamado UserForm1:
Sub ShowDialogBox () UserForm1.Show ‘Outras declarações pode ir hereEnd Sub
Quando o Excel exibe a caixa de diálogo, os ShowDialogBox pára a macro até que o usuário fecha a caixa de diálogo. Então VBA executa quaisquer instruções restantes no procedimento. Na maioria das vezes, você não terá mais o código no procedimento. Como você ver mais tarde, você colocar seus procedimentos do manipulador de eventos na janela de código para o UserForm. Estes procedimentos chutar quando o usuário trabalha com os controles no UserForm.
Video: Create a Data Form in Excel WITHOUT VBA!
Usando informações de um UserForm
O VBE fornece um nome para cada controle que você adicionar a um UserForm. O nome do controle corresponde à sua propriedade Name. Utilize este nome para se referir a um controle específico em seu código. Por exemplo, se você adicionar um controle CheckBox para um formulário de usuário chamado UserForm1, o controle CheckBox é nomeado CheckBox1 por padrão. Você pode usar a caixa Propriedades para fazer esse controle aparecem com uma marca de verificação. Ou você pode escrever código para fazê-lo:
UserForm1.CheckBox1.Value = True
Na maioria das vezes, você escreve o código para um formulário de usuário no módulo de código do formulário de usuário. Se for esse o caso, você pode omitir o qualificador UserForm objeto e escrever a declaração como esta:
CheckBox1.Value = True
Seu código VBA também pode verificar várias propriedades dos controles e tomar medidas apropriadas. A declaração a seguir executa um macro chamado PrintReport se a caixa de seleção (nomeado CheckBox1) está marcada:
Se CheckBox1.Value = True Then Chamada PrintReport
É geralmente uma boa idéia para mudar o nome padrão do VBE deu a seus controles para algo mais significativo.