Nessa aula eu quero te mostrar como criar uma tela no VBA para seus códigos em VBA, pois isso vai facilitar a utilização das suas macros!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala pessoal! Você quer saber como criar uma tela no VBA para deixar seus códigos mais dinâmicos e ter uma interação com usuário VBA?
Para criar essa tela vamos te mostrar nessa aula como criar formulário no VBA, que é um recurso muito interessante. Isso vai te ajudar a dar um visual mais agradável ao seu código e claro, melhora a interação com o usuário da planilha.
Você vai lidar com:
Esses são estruturas que você vai utilizar para criar o seu formulário e dar formato a ele, podendo escrever, colocar uma caixa para o usuário escrever e visualizar um resultado.
Os eventos no VBA vão permitir com que você faça uma automação, nesse caso vamos executar macro no formulário ao clicar em um botão.
Acompanhe com a gente a montagem do formulário.
UserForm
Para inserir um UserForm, iremos:
Um Userform (Formulário) padrão de nome UserForm1 será criado, como mostramos abaixo.
Iremos fazer as seguintes alterações de visual nas propriedades desse UserForm:
BackColor
Caption
Rótulo de Dados (Label)
Font
ForeColor
Caption
Caixa de texto (TextBox)
Font
(Name)
Copiar formatos de rótulo e caixa de texto prontas
Vamos, nesse momento, já copiar o rótulo feito e a caixa de texto prontos mais duas vezes, para aproveitar os formatos.
Colaremos, e alteraremos o seguinte:
Botão de comando (commandbutton)
Font
Caption
Atrelando macro ao botão de comando “Pesquisar”
Para fazer o nosso botão ficar funcional, precisamos atrelar um evento a ele: o evento de click (clicar, em português).
Para isso:
Set objIE = CreateObject("InternetExplorer.Application")
'objIE.Visible = True
moedaCot = caixaSimb.Value
dataCot = Format(caixaData.Value, "mm-dd-yyyy")
linkCot = "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoMoedaPeriodoFechamento(codigoMoeda='" _
& moedaCot & "',dataInicialCotacao='" & dataCot & "',dataFinalCotacao='" & dataCot & "')?$select=cotacaoCompra"
objIE.Navigate linkCot
Do While objIE.busy And objIE.readyState <> "READYSTATE_COMPLETE"
DoEvents
Loop
Application.Wait (Now + TimeValue("00:00:01"))
caixaCot.Value = CDbl(objIE.Document.getElementsByTagName("td")(0).innerText)
objIE.Quit
Set objIE = Nothing
Lembrando que a explicação desse código inteira e detalhadamente foi feita na aula em que ensinamos como extrair cotação de moedas na web com vba – [web scraping].
Resumidamente ele vai entrar no site apresentado no código, através de uma API (acrônimo em inglês que significa interface de programação de aplicações), buscar a cotação da moeda na data informada.
O resultado da moeda será exposto na terceira caixa, a caixaCot.
Nessa aula você aprendeu a lidar com:
Valeu, galera! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA, Excel e Power BI literalmente toda semana! Um abraço!
Para acessar outras publicações de VBA, clique aqui!
Quer aprender mais sobre VBA com um Minicurso Gratuito?
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.