Cavalcante Consultores – treinamento e consultoria em finanças e Excel

Criando o leiaute da tela de comando

Cavalcante Consultores > Biblioteca de Excel > Criando o leiaute da tela de comando

Introdução

Ao criar um projeto VBA para sua planilha, você pode trabalhar somente com as funções e rotinas que criou, dispostas em módulos, ou utilizar também formulários, chamados às vezes forms para evitar uma referência equivocada às ferramentas-padrão de formulário do Excel. Um formulário é uma tela que faz a interface entre o usuário da planilha e seu projeto VBA. Os formulários elaborados através de VBA têm a mesma aparência de qualquer janela do Excel ou do Windows.

Observe a seguir um exemplo de formulário criado em VBA:

Utilizando formulários, você pode criar uma interface com aparência limpa e profissional, tratando a entrada de dados na sua planilha e mantendo seu projeto VBA isolado dos usuários.

Exemplo

No exemplo a seguir, vamos criar um formulário simples igual ao da imagem acima: ele recebe o nome e o email de uma pessoa e adiciona estas informações à planilha. Abra o editor do Visual Basic. Em seguida, clique no menu Inserir e selecione o item UserForm:

Ao fazê-lo, um novo formulário será criado, e o editor do Visual Basic ficará como na janela abaixo:

O formulário criado é exibido na janela de projetos como os módulos, mas tem a sua própria seção: cada um dos itens na pasta Forms é uma tela. Ao dar um clique duplo em cada um desses itens, o formulário correspondente será exibido, permitindo sua edição:

O formulário em si, ao ser criado, tem a aparência de uma janela em branco e com um título padronizado; esta janela pode posteriormente ser redimensionada, ter seu título alterado e objetos adicionados. Observe o formulário vazio:

Os objetos são inseridos a partir da barra de componentes:

Dica: se a barra não estiver visível, clique no botão abaixo para exibi-la:

A partir deste ponto, fica a seu critério escolher que componentes farão parte do formulário, e que nomes eles terão. Você pode se referir aos objetos de formulário, dentro de uma macro, utilizando o modelo de objeto usual. Assim, se seu formulário for chamado formEntrada e ele tiver um caixa de entrada de texto chamada inputNome, por exemplo, você poderá recuperar ou modificar seu valor através de uma chamada de formEntrada.inputNome.Value.

Estes nomes podem ser atribuídos e alterados através do painel de propriedades, que por padrão é exibido no canto inferior esquerdo do editor do Visual Basic. Ele exibe uma listagem de propriedades do objeto do formulário selecionado. Na falta de outro objeto, ele exibirá as propriedades do próprio formulário. Observe:

Você pode exibir estes objetos em ordem alfabética ou por categoria. O nome do objeto é definido através da propriedade (Name): neste exemplo, definimos o nome do formulário como formEntrada. Note que esse não é o título da janela: este valor pode ser atribuído através da propriedade Caption.

Veja o formulário do exemplo:

Para criar um formulário como este, você precisará dos seguintes itens da barra de componentes:

Crie estes itens, arrastando suas bordas para o tamanho desejado. Você também pode atribuir seus nomes de objeto através da propriedade (name), no painel de propriedades, como visto anteriormente: por exemplo, os campos de entrada de texto foram nomeados como inputNome e inputEmail.

(Prossiga para o conteúdo criando os códigos para as telas de comando.)

Pratique!