Criar um formulário para formatar texto no Excel - Exceldriven

Formulário para formatar texto no Excel!

Neste novo artigo, vamos fazer um formulário para criar algumas formatações tradicionais de texto, de modo que não tenhas de recorrer à utilização de funções, ou mesmo do Power Query, para formatar pequenos intervalos de células ou efetuar uma correção po

As formatações que vão ser criadas vão ser para converter o texto em maiúsculas, minúsculas, a primeira inicial em maiúscula e, ainda, limpar os espaços no texto. São 4 formatações que eu considero essenciais que, normalmente, temos de executar várias vezes… nada melhor que uma macro para este efeito.

O formulário aparece aqui, na necessidade de poderes escolher entre as várias formatações e aplicar as várias opções no mesmo local, sem necessidade de teres uma rotina para cada uma das opções.

Não percas aqui todo o processo passo-a-passo detalhado e, se tiveres alguma dúvida, envia-nos a uma mensagem... ficamos à tua espera!


Faça aqui o download dos seus ficheiros de apoio!


Criar o formulário e formatar

Vamos começar por criar o formulário e os seus comandos formatando-os. Para começar deves ter a tua disposição o menu PROGRAMADOR [DEVELOPER]. Se não tiveres pode ativar nas opções do Excel:

Menu Ficheiro [FILE] -> Opções [Options] -> Personalizar Friso [Customize Ribbon]

img_00.png

De seguida acedemos ao Visual Basic Editor.

img_01.png

E uma vez no Visual Basic Editor iniciamos um novo formulário pela Opção Insert -> UserForm…

img_02.png

No formulário começamos por definir algumas propriedades base, como o Nome do Objeto, para ser reconhecido pelo VBA, e também o título da barra de título do formulário, por uma questão de apresentação.

img_03.png

Inserir os objetos do Formulário

O formulário vai ter 4 Botões de Opção [Option Buttons] um para cada opção de formatação. Uma Moldura [Frame] para agrupar os botões de opção e mais 2 botões, um para confirmar as formatações e outro para cancelar.

Quando temos o formulário normalmente acedemos diretamente a caixa de ferramentas com os botões. Caso não tenhas a Toolbox, basta acederes ao Menu View e escolher a opção ToolBox.

Depois começamos por inserir um Botão de Opção!

img_04.png

No Botão inserido, podes aplicar algumas propriedades ao teu gosto, contudo 2 são importantes:

  • (Name) que corresponde novamente ao nome do objeto e como ele é reconhecido em VBA
  • Caption que identifica a etiqueta do botão, no formulário.

De seguida podes inserir os restantes botões e aplicar em cada um as mesmas propriedades, com algumas adicionais conforme a imagem:

  • Font: Para alterar o tipo de letra
  • Height: Para a altura da caixa de texto
  • Width: Para a largura da caixa de texto

img_06.png

Depois de termos os 4 botões de opção, podemos alinhá-los e distribuir o espaço entre eles de forma igual, acedendo ao menu Format.

img_07.png

No próximo passo podemos inserir uma Moldura [Frame] para agrupar os 4 botões de opção.

img_08.png

Para agrupar os botões, basta selecionar os mesmos, e movê-los para a moldura.

img_09.png

Para terminar o “Design” do formulário, basta criar os 2 botões que vão confirmar a formatação ou cancelar o formulário. Nestes objetos deves também alterar pelo menos 2 das propriedades:

  • (Name): Para alterar o nome como o objeto é reconhecido em VBA
  • Caption: Para definir o nome que aparece em cada botão.

img_10.png

Aplicar o código para o formulário

O código para o formulário é aplicado basicamente nos 2 botões (Confirmar e Cancelar). Efetuando um duplo clique sobre cada um dos botões iniciamos o “Evento Clique” que é ativado sempre que clicamos no botão. O Código é inserido dentro dessa rotina em cada um dos botões.

Botão Cancelar

No Botão cancelar colocamos então o seguinte código que basicamente fecha o formulário. O formulário é reconhecido pela variável base (ME) que representa o objeto atual que estamos a utilizar.

Private Sub cmdCancelar_Click()

    Unload Me   'Código colocado aqui para fechar o formulário

End Sub

Botão Confirmar

 

O Botão confirmar é o que terá mais código, contudo é um código simples.

Vamos ter 2 variáveis que representam os intervalos de células.

Option Explicit

    Dim intervalo As Range  'Representa o intervalo selecionado

    Dim celula As Range     'Representa a célula de cada intervalo

Teremos uma expressão IF que valida várias condições:

  • Se o botão de opção selecionado for maiúsculas…
    • Fará um ciclo por cada célula (variável) no intervalo de células selecionado (Variável definida pela função Application.InputBox)
    • Converte o valor da célula em Maiúsculas
  • A expressão IF volta a testar outro Botão de Opção até testar todos os botões, com o mesmo ciclo a correr, mas cada um com a função adequada.

O código é representado em baixo:

Private Sub cmdConfirmar_Click()

Set intervalo = Application.InputBox(Prompt:="Selecionar o intervalo a formatar", Title:="Intervalo a selecionar", Type:=8)

    If Me.optMausculas Then

        For Each celula In intervalo

            celula.Value = UCase(celula)    'Função UCase para converter em Maiúscula o texto

        Next celula

    ElseIf Me.optMinusculas Then

        For Each celula In intervalo

            celula.Value = LCase(celula)    'Função LCase para converter em Maiúscula o texto

        Next celula

    ElseIf Me.optInicialMaiuscula Then

        For Each celula In intervalo

            celula.Value = StrConv(celula, vbProperCase)    'Função StrConv para converter texto

        Next celula

    Else

        For Each celula In intervalo

            celula.Value = WorksheetFunction.Trim(celula)   'Função Trim do Excel para Limpar espaços

        Next celula

    End If

End Sub

Opções definidas para iniciar o formulário

Quando iniciamos o formulário podemos definir algumas opções a carregar de início. Neste caso vamos apenas colocar um dos botões de opção como pré-selecionado. Para tal fazemos um duplo-clique no formulário para aceder aos seus eventos. Escolhemos o evento Initialize.

img_11.png

E colocamos o seguinte código, que define o Botão de Opção (Maiúsculas) como selecionado por predefinição.

Private Sub UserForm_Initialize()

    optMaiusculas.Value = True

End Sub

Criar uma Macro para mostrar o formulário

 

No Visual Basic podemos agora inserir um Módulo, ou iniciar a gravação de uma Macro, para aplicar um código que vai correr o Formulário.

No Visual Basic acedemos ao Menu Insert -> Module.

No novo módulo, colocamos apenas o seguinte código:

Sub IniciarFormulario()

    frmFormatar.Show

End Sub

Este Código vai iniciar o formulário, mostrando-o.

Este código podes aplicar no livro de Macros Pessoais (Personal Macro Workbook) assim como o formulário. Deste modo podes ter a rotina e o formulário disponíveis em qualquer livro que tenhas aberto para efetuar estas formatações básicas de texto!


Outros conteúdos relevantes:

Microsoft Excel: Remover Duplicados, mas a 1ª ocorrência, não a 2ª!

Microsoft Excel: Remover Duplicados, mas a 1ª ocorrência, não a 2ª!

Neste novo vídeo, vou mostrar-te como podes remover não a última ocorrência, mas sim a primeira ocorrência do valor duplicado, no Microsoft Excel. Vamos lá?

Continuar a ler...

Usar a Função nova LAMBDA para reutilizar cálculos e conjugações

Usar a Função nova LAMBDA para reutilizar cálculos e conjugações

Confira como a função LAMBRA, do Microsoft Excel, vai revolucionar a forma como realizamos operações, reutilizando cálculos ou conjugações de fórmulas.

Continuar a ler...

 

Pesquisar


Consulte aqui os últimos artigos publicados no nosso blog!

Aceda aqui ao nosso blog!


Consulte aqui os últimos vídeos publicados no nosso canal do Youtube!

Aceda aqui ao nosso arquivo!

Assista, ouça, pratique e aprenda!

Na nossa oferta, disponibilizamos cursos intensivos que lhe dão um conhecimento alargado dos programas, dependendo dos seus objetivos e nível de conhecimento. Para além disso, dispomos também de cursos on-demand que tem, entre outros aspetos, têm como principal objetivo ajudá-lo a resolver problemas específicos do dia-a-dia, sem ter necessidade de assistir a um curso completo.

Aprenda a maximizar o seu tempo e aumente a sua produtividade com a ferramenta mais utilizada em todo o mundo – o Microsoft Excel! Conheça a nossa oferta formação especializada e Ferramentas de Business Intelligence! Vamos lá?!

Microsoft Excel

Fique a conhecer as principais funcionalidades do Microsoft Excel, e ser autónomo no seu trabalho, temos um conjunto de cursos que o podem ajudar a chegar ao seu objetivo!

Veja aqui aos cursos disponíveis!

Business Intelligence

Passe ao próximo nível e conheça a nossa oferta de cursos especializados utilizando as potencialidades de Business Intelligence do Microsoft Excel, ou utilizando o Power Bi Desktop.

Veja aqui os cursos disponíveis!

VBA (Visual Basic for Applications)

Estenda as capacidades do Microsoft Excel, e controle quase a totalidade dos aspetos da aplicação, utilizando o VBA! Uma linguagem de programação à disposição de todos os utilizadores.

Veja aqui os cursos disponíveis!

Subscreva as nossas notícias e novidades!

Tem uma dúvida que gostava de ver esclarecida?

Contacte-nos através do seguinte formulário.

Pretendemos ajudá-lo a trabalhar, de forma eficiente, o Microsoft Excel e as Ferramentas Power Platform (Power BI, Power Apps e Power Automate).

O que pretendemos é que possa economizar tempo e aumentar a sua produtividade.

A nossa solução... uma oferta formativa de qualidade e em diversos modelos formativos, com conteúdos práticos, disruptivos e inovadores!

Consulte aqui todas as modalidades, ou contacte-nos para receber mais informações. Basta utilizar o formulário aqui disponível, ou o email geral@exceldriven.com. Até breve!

O que os nossos clientes dizem sobre nós?

Depoímentos

Excelente empresa a nível de formação. De realçar o formador Joao Teixeira, profissional 5 estrelas.
Bruno Matos -

Boa tarde, Dou 5 estrelas pois o método de ensino é espetacular, as lições são muito bem sumarizadas, a interação entre o formador e o formando é eficaz possibilitando maior assimilação da matéria, e com o espaço para a resolução de exercícios tornam as aulas mais dinâmicas e proveitosas.
Yara Agostinho -

Excelente apresentação e organização da Formação em Excel Avançado
Balbina Zambujo -

Os conteúdos são muito bem explicados. As dúvidas dissipadas em curto espaço de tempo.
Rui Filipe -

O formador João Teixeira consegue tornar um assunto à partida monótono, em algo desafiante e cativante. Gostei imenso!
Maria Flores Macedo -

Excelente instrutor, muito bons treinamentos e aquisição de conhecimentos.
Eunice Ramalho -

Excelente formação, com conteúdos didáticos e exercícios adaptados ao nível dos formandos. Recomendo!
Pramod Maugi -

Tive uma formação de excel fundamental via zoom e, apesar das limitações apresentadas por ser uma formação online, foi ministrada com grande êxito, tendo tido pleno aproveitamento.
Patricia Martins -

Formação muito bem organizada e focada para as nossas necessidades. Recomendo.
Pedro Gomes -