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.

Inserir um novo UserForm

Inserir um objeto UserForm, seguindo estes passos:

  1. Activa o VBE pressionando Alt + F11.

  2. Selecione a pasta de trabalho que irá realizar o UserForm na janela do projecto.

  3. 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

Um novo objeto UserForm.
Um novo objeto 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 controleO que faz
Rótulomostra texto
Caixa de textoPermite que o usuário inserir texto
Caixa comboExibe uma lista drop-down
ListBoxExibe uma lista de itens
CheckBoxFornece opções como ligar / desligar ou sim / não
OptionButtonPermite que o usuário selecione uma das várias opções-usado em
grupos de dois ou mais
ToggleButtonPermite ao usuário alternar um botão ligado ou desligado
Quadro, armaçãoContém outros controles
Botão de comandoUm botão clicável
TabStripexibe as guias
MultiPageUm recipiente com guias para outros objectos
Barra de rolagemPermite que o usuário arraste uma barra de estabelecer uma definição
SpinButtonPermite que o usuário clique em um botão para alterar um valor
ImagemMantém uma imagem
RefEditPermite 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.

Use as janelas de propriedades para alterar as propriedades de controles UserForm.
Use as janelas de propriedades para alterar as propriedades de controles UserForm.

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:



  1. Certifique-se de que o controle correto está selecionado no formulário de usuário.

  2. Certifique-se a janela Propriedades é visível.

  3. Na janela de propriedades, clique na propriedade que você deseja alterar.

  4. 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.


Publicações relacionadas