VBA: dicas para iniciantes, usar em planilhas do Excel

VBA significa Visual Basic for Applications. Excel VBA é a linguagem de programação da Microsoft para Excel e todos os outros programas do Microsoft Office, como Word e PowerPoint. Com o VBA, você pode criar macros para automatizar funções repetitivas de processamento de palavras e dados e gerar formulários, gráficos e relatórios personalizados. Neste tutorial vamos ver algumas dicas de VBA para iniciantes começarem a usar em suas planilhas.

As dicas de VBA para iniciantes que vamos ver aqui, são compostas em planilhas de Excel. E isso lhe permite criar mais ferramentas de programação para suas planilhas.

VBA: dicas para iniciantes, usar em planilhas do Excel

Nessa primeira parte vamos mostrar como trabalhar com: SUBS, SHEETS, RANGES e BASICS. Eu não posso dar suporte para Visual Basic Application, mesmo porque, não um profissional da área, mas posso mostrar alguns conceitos básicos para você tomar gosto pelo VBA e acrescentar algo mais técnico em suas planilhas.

Subs: Primeira parte do VBA para aprender

Ao trabalhar com VBA, você precisa criar procedimentos para armazenar seu código. O mais básico tipo de procedimento é chamado de "Sub". Para criar um novo procedimento sub, abra o editor de Visual Basic e digite Sub.
Digite um "olá pessoal" e pressione enter.

  • Crie um procedimento SUB intitulado "olá pessoal".
Sub Macro1()
End Sub

Você já criou um sub nomeado como "olá pessoal". Agora, notará que o editor VBA completa a configuração do sub automaticamente adicionando a linha End Sub. Todo o seu código deve ficar entre o início e o fim do procedimento.

Comments (Comentários): Dica de VBA 2

Você pode adicionar comentários em qualquer lugar do seu código procedendo ao comentário com um apóstrofo (')
'Este é um comentário. Comentários podem ser colocados em sua própria linha ou no final de uma linha de código:

linha = 5 'Comece na linha 5
  • Adicione uma linha de comentário que diga: "Estou programando!"
Sub Macro1()
'Eu estou programando!
End Su

Os comentários tornam seu código muito mais fácil de seguir. Especialistas recomendam desenvolver o hábito de criar cabeçalhos de seção para identificar o que cada parte do código faz.

Objetos, Propriedades e Métodos: Dica de VBA 3

Objects, Properties and Methods

Você pode programar o VBA para fazer qualquer coisa no Excel referenciando os objetos apropriados, propriedades e métodos.

  • Objetos são itens como pastas de trabalho, planilhas, células, formas, caixas de texto ou comentários. Os objetos tem propriedades, por exemplo: valores, formatos e configurações, que você pode alterar.
  • Métodos são ações que podem ser aplicado a objetos, por exemplo: copiar, excluir, colar e limpar. Vejamos um exemplo:
Range("A1").Font.Size = 15
Sheets(1).Delete

O que eu quero dizer no exemplo acima

Objects: Range("A1") , Sheets(1)
Properties: Font.Size
Methods: Delete

Objeto de intervalo: Dica de VBA 4

  • Range Object


Agora vamos fazer um exemplo para atribuição de propriedades ao objeto range. Para atribuir o valor de 1 à célula A1 você digita: range("a1").valor = 1

Atribua o valor de 2 à célula A2

Sub Macro1()
Range("A2").Value = 2
End Sub

Nota: nos exemplos acima, nenhum nome de planilha foi especificado. Se nenhum nome de planilha for especificado, o VBA entende que você está se referindo à planilha ativa atualmente no VBA. Vamos aprender mais sobre isso mais tarde.

Texto e introdução às variáveis: Dica de VBA 5

  • Text & Intro to Variables

Ao atribuir valores numéricos às células, basta digitar o número. No entanto, ao atribuir um
string de texto para uma célula, você deve colocar o texto entre aspas, assim como se faz nas função do Excel, como a função SE.

Por quê? Sem as aspas, o VBA pensa que você está inserindo uma variável. Vamos aprender sobre variáveis no próximo capítulo.

Atribuir o valor de "string of text" à célula A3

Sub Macro1()
Range("A3").Value = "string do texto"
End Sub

Há mais dois detalhes importantes a serem lembrados ao trabalhar com strings. Primeiro, usando um conjunto de citações que não contém nada irá gerar um valor "em branco".

range("a3").value = ""

Segundo, você pode usar o operador & para combinar strings de texto:

“string of” and “text”

Atribua o valor de "EZ" à célula A3 separando "EZ" em 2 strings de texto e
combinando-os

Sub Macro1()
Range("A3").Value = "E" & "Z"
End Sub

Qualquer coisa no VBA que esteja entre aspas é considerada uma string de texto. Lembre-se disso quando você insere um intervalo, nome de planilha ou pasta de trabalho, você coloca o intervalo entre aspas (ex "A1"), que é apenas uma sequência de texto. Em vez de escrever explicitamente a string de texto, você pode usar variáveis.

Dim strRng
strRng = "A1"
range(strRng).value = 1
is the same as
range("a1").value = 1
Aqui declaramos uma variável strRng e a definimos igual a "A1". Então, ao invés de digitar "A1", nós faça referência à variável strRng no objeto de intervalo. Agora você tenta.

Já declaramos a variável "Row" e igualamos a 5. Agora, usando o
variável, defina o intervalo "A5" = 1.

Sub Macro1()
Dim Row
Row = 5
Range("A" & Row).Value = 1
End Sub

Podemos aprender mais sobre variáveis em uma lição futura.

Intervalos nomeados: Dica de VBA 6

  • Named Ranges

Named Ranges são células que receberam um nome personalizado. Para referenciar um intervalo nomeado, em vez de digitar a referência da célula, por exemplo: "A1", digite o nome do intervalo , como por exemplo: "criar".

Sub Macro1()
Range("criar").Value = 0.05
End Sub

Os intervalos nomeados são muito úteis ao trabalhar no Excel, mas são absolutamente essenciais para usar ao trabalhar com VBA. O motivo é: se você adicionar, ou excluir linhas e colunas, todas as suas fórmulas do Excel serão atualizadas automaticamente, mas seu código VBA permanecerá inalterado.

Por outro lado, se você codificou uma referência a um intervalo específico no VBA, ele pode não estar mais correto. Portanto, a única proteção contra isso é nomear seus intervalos.

Faixas de Células: Dica de VBA 7

  • Ranges of Cells

Agora, em vez de atribuir um valor a uma única célula, vamos atribuir um valor a um intervalo de células com um linha de código.

Atribua o valor de 5 às células A2:B3.

Dica: Insira o intervalo exatamente como aparece em uma fórmula do Excel
Sub Macro1()
Range("A2:B3").Value = 5
End Sub

Fórmulas de células: Dica de VBA 8

  • Cell Formulas

O VBA pode atribuir fórmulas a células usando a propriedade "formula".

Exemplo: range("c3").formula = "=1 + 2"

Nota: Lembre-se de cercar sua fórmula com aspas e iniciar a fórmula com um sinal de igual.

Atribua a fórmula de 5*2 ao intervalo A2:A3

Sub Macro1()
Range("A2:A3").Formula = "=5*2"
End Sub

A propriedade .Formula atribuirá a mesma fórmula exata a cada célula no intervalo especificado. Portanto, se você estiver usando referências de células, as referências serão codificadas com base no que você inseriu nas cotações. Muitas vezes você desejará atribuir uma fórmula com referências relativas. Por exemplo: aplicar uma fórmula a uma coluna inteira, onde a fórmula em cada linha precisa fazer referência.

Propriedade de Valor Continuação: Dica de VBA 9

  • Value Property Continued

Você também pode atribuir um valor a uma célula referindo-se ao valor de outra célula. Exemplo:

range(“a1”).value = range(“b1”).value.

Defina a célula A2 = B2 usando o método que você acabou de aprender.

Sub Macro1()
Range("A2").Value = Range("B2").Value
End Sub

Importante! Você pode atribuir um valor de célula única a uma ou mais células de uma só vez:

Range(“a1:a3”).value = range(“b1”).value

Mas se você quiser atribuir um intervalo de valores de célula, você deve certificar-se de que os tamanhos do intervalo são os mesmos, caso contrário, você receberá um erro.

Range(“a1:a3”).value = range(“b1:b3".value

Limpar método: Dica de VBA 10

  • Clear Method

Há também muitos métodos que podem ser aplicados a intervalos. Pense nos métodos como "actions".
Exemplos de métodos incluem: .clear, .delete e .copy. Tente aplicar o método .clear, isso vai
limpar todas as propriedades da célula (valores, fórmulas, formatos, comentários, etc.)

Limpar célula A2

Sub Macro1()
Range("A2").Clear
End Sub

Agora use o método .ClearContents para limpar apenas o conteúdo da célula, mantendo a formatação da célula e todas as outras propriedades. Isso equivale a pressionar a tecla Delete.

Limpe apenas o conteúdo da célula A2.

Sub Macro1()
Range("A2").ClearContents
End Sub

Planilhas e pastas de trabalho: Dica de VBA 11

Quando você se refere a um intervalo sem declarar explicitamente uma planilha ou pasta de trabalho, o VBA funcionará com qualquer planilha ou pasta de trabalho que esteja atualmente ativa no procedimento. Em vez disso, você pode informar explicitamente ao VBA quais planilhas e pastas de trabalho poderá usar - se aplicável. Veja o exemplos abaixo.

No WS or WB, usará o que estiver ativo.

range(“a1”).value = 1

No WB, usará o que estiver ativo, mas um WS será declarado. Isso é bom se seus procedimentos não referenciar outras pastas de trabalho.

Sheets(“Inputs”).range(“a1”).value = 1

Fórmulas de células: Dica de VBA 12

  • Cell Formulas

Defina a célula A2 da planilha "Dados" para "texto"

Sub Macro1()
Sheets("Data").Range("A2").Value="text"
End Sub
  • Ambos WB e WS são definidos.
  • Workbooks(“wb1.xlsm”).sheets(“inputs”).range(“a1”).value = 1
  • Observe que, ao definir uma pasta de trabalho, você deve adicionar a extensão de arquivo apropriada (.xls, xlsm, etc.). Tente você mesmo:
Na pasta de trabalho chamada "wb1.xlsm", defina a célula A2 da planilha "Dados" como "texto"
Sub Macro1()
Workbooks("wb1.xlsm").Sheets("Data").Range("A2").Value = "text"
End Sub

Como você deve ter notado, é muita digitação para definir planilhas e pastas de trabalho. Imagine digitando isso repetidamente… Em vez disso, você deve utilizar variáveis de planilha e pasta de trabalho para simplifique seu código.

Ativar e selecionar: Dica de VBA 13

  • Activate and Select

Se você já gravou uma macro, provavelmente já viu .Activate e .Select usados para ativar ou
selecionar um objeto (por exemplo, um intervalo). Esses comandos efetivamente mudam o foco para o objeto desejado, ou no plural:

range(“a1”).select
Selection.value = 1

O código acima é idêntico a este:

range(“a1”).value = 1

A segunda instância é muito mais curta, mais fácil de seguir e menos propensa a erros. Na verdade, você pode quase nunca usar .activate ou .select. Você quase sempre pode realizar a mesma tarefa escrevendo código mais inteligente. Se você estiver editando o código de uma macro gravada, considere "limpar" seu
código de .activate e .selects.

A única vez que você deve usar esses comandos é ao mudar o foco para o usuário.
Por exemplo: você pode querer adicionar um botão de navegação para pular para uma planilha diferente:

Sub nav_Index()
Sheets(“index”).activate
End Sub

Ative a planilha "Inputs"

Sub Macro1()
Sheets(“Inputs”).Activate
End Sub

Qual é a diferença entre ativar e selecionar? Apenas um objeto do mesmo tipo pode ser
ativo por vez. Exemplo: activesheet, activeworkbook, activecell, etc. Enquanto vários objetos do mesmo tipo podem ser selecionados de uma só vez - um intervalo de células, várias formas, várias planilhas, etc.

## Resumo das dicas de Visual Basic Applications ##

Existem vários objetos, propriedades e métodos que você pode acessar com o VBA. É
impossível cobri-los todos em um tutorial. Felizmente, todos eles operam usando os mesmos princípios e sintaxe. E você pode acompanhar a próxima dica de VBA, em breve...

Confira Estas Planilhas de Excel
Lista de todas as planilhas do site. Confira estas planilhas Premium. Pacote de planilhas de Excel com 17. A melhor opção!
Ver Mais Detalhes Ver Mais Detalhes
Planilha de Custo de Obras para construção e reformas de imóveis. Mais vendida! Planilha de Cotação de Preços. Economize dinheiro comprando mais barato!
Ver Mais Detalhes Ver Mais Detalhes
Planilha de Orçamento de Obras 2.0. Exatamente o que você precisa para fazer o controle da obra. Planilhas de Controle de Estoque e Vendas. Ótima recomendação para estoques!
Ver Mais Detalhes Ver Mais Detalhes

Tags:

Edivaldo

Edivaldo

Edivaldo. Louco por funções e fórmulas de Excel, adoro fazer planilhas e compartilhar meus conhecimentos com as pessoas. Seja bem-vindo. Eu amo fazer isso e quero compartilhar com você!

Teremos o maior prazer em ouvir seus pensamentos

Deixe uma Comentário

Tudo Excel
Logo
Shopping cart