Formulários de usuário do Excel - Dicas do Excel

Índice
O Excel 97 introduziu novos Formulários de Usuário. Em inglês, me ensine como criar e usar uma caixa de listagem.

MrExcel completou recentemente um aplicativo personalizado para um de nossos leitores. Neste aplicativo do Excel, o usuário deve inserir 150 pontos de dados para um número de peça específico na planilha.

1. Com o clique de um botão, este número de peça e os valores de dados associados são confirmados em um banco de dados na Planilha2. Isso era bom, mas precisávamos de uma maneira para o usuário chamar um registro da folha 2 para que pudesse revisar as entradas. Eu queria permitir que o usuário abrisse um formulário com uma caixa suspensa mostrando todos os itens da planilha

2. O usuário poderia rolar, escolher um item e, em seguida, eu puxaria esses valores da página 2 para a página 1.

Como muitos de vocês, comecei a escrever macros do Excel no Excel 5.0. Todo este Editor de Macro no Excel 97 é um pouco intimidante. Para a dica desta semana, vou mostrar, passo a passo, como criar a caixa de listagem para este projeto. O foco desta semana está apenas na caixa de combinação. O público-alvo é alguém que conhece o básico sobre macros do Excel, mas nunca usou um formulário para interagir com uma macro.

Primeira etapa: alterei as macros existentes para que, quando adicionassem um registro à planilha2, a macro nomeasse o intervalo contendo os números de peça a ser denominado "PartList". Há um título na célula A1, com o primeiro item na célula A2. Usei o comando End para encontrar a última linha:

LastRow = Range("A6000").End(xlUp).Row ActiveWorkbook.Names.Add Name:="PartList", RefersTo:="=Sheet2!$A$2:$A$" & LastRow

Segunda etapa: Layout do formulário da caixa de listagem. Siga esses passos:

  • Inicie o Editor do Visual Basic pressionando alt-F11
  • No menu, selecione Inserir> Formulário do usuário. O editor deve fornecer um UserForm1 em branco.
  • Se você não vir a caixa Propriedades-UserForm1 no canto esquerdo inferior, clique no ícone "Janela de propriedades" - parece uma mão com um dedo apontando para uma folha branca.
  • A quarta entrada na janela de propriedades é Caption. No momento, a legenda será UserForm1. Clique na caixa à direita de Legenda na janela Propriedades e digite um novo título para o formulário. Liguei para o meu "Selecione um número de peça para revisar". Deixei todas as outras propriedades do formulário em seu estado padrão.
    Criando uma caixa de listagem usando o formulário do usuário
  • Clique em qualquer lugar dentro do formulário do usuário novamente e a caixa de ferramentas de controles aparecerá.
  • Na caixa de ferramentas Controles, escolha a letra A. Clique e arraste para criar uma caixa de rótulo na parte superior do formulário. O padrão é ter uma legenda Label1. Clique dentro da caixa de texto novamente e você pode editar a legenda. Coloque aqui as instruções para o usuário: "Escolha um item da lista abaixo e clique em OK para revisar os valores".
  • Clique no formulário, mas fora da caixa do rótulo, você verá a caixa de ferramentas de controle novamente. O quarto item na linha superior é uma ferramenta de caixa de combinação. Clique aqui e arraste no formulário do usuário para criar uma caixa de combinação. É aqui que a lista de números de peça aparecerá. O nome padrão é ComboBox1.
    Propriedades Combobox
  • A janela de propriedades agora mostrará as propriedades do ComboBox1. Percorra as propriedades até ver a propriedade RowSource. Para a propriedade RowSource, digite = Sheet2! PartList
  • Agora você pode executar um teste rápido para verificar se as coisas estão funcionando corretamente. Clique na barra de título do formulário do usuário para selecionar o formulário inteiro. Agora clique no ícone "reproduzir" (parece o botão reproduzir do seu videocassete). Você retornará à sua pasta de trabalho do Excel e terá nosso formulário de usuário simples. Se você clicar na lista suspensa de número de peça, deverá ver uma lista de números de peça válidos. Escolha um e ele permanecerá na caixa de combinação. Até agora, não muito emocionante. Clique no pequeno X no canto superior direito para descartar a caixa.
  • Retorne ao editor do Visual Basic. Clique no formulário do usuário para mostrar a Caixa de Ferramentas de Controle. Clique na ferramenta CommandButton e desenhe um botão. Altere a legenda para ficar OK usando a janela Propriedades - CommandButton1.
  • Desenhe um segundo botão e rotule-o de Cancelar.
  • Estamos quase terminando. Vamos amarrar um pouco de código ao botão Cancelar. Clique com o botão direito no botão Cancelar e selecione "Exibir código". O Editor irá configurar suas instruções Sub e End Sub. Entre eles, digite uma linha de código:
    UserForm1.Hide
  • Sim, isso é tudo que há para atribuir código a um botão. Para voltar ao formulário do usuário, clique duas vezes nas palavras UserForm1 na janela do projeto. (Não consegue ver a janela do projeto? Clique no ícone Explorador de Projetos, logo à esquerda do ícone Propriedades.)
  • Para finalizar o formulário1 do usuário, vamos fazer algo com o botão OK. Quando o usuário clicar em OK, desejo que o valor da caixa de listagem apareça na célula A2 da planilha 1 e, em seguida, desejo iniciar uma macro que escrevi anteriormente chamada ReviewItem. Clique com o botão direito no botão OK e selecione Exibir código. Insira este código para Private Sub CommandButton1_Click ():
    Worksheets("Sheet1").Range("A2") = UserForm1.ComboBox1.Value UserForm1.Hide ReviewItem

Parabéns! Você terminou seu primeiro formulário de usuário. Para fazer o formulário aparecer, execute uma macro que possui esta linha:

UserForm1.Show

O formulário será semelhante a este:

Formulário de usuário concluído

Artigos interessantes...