Aprenda como usar o VBA no Aplicativo Excel

Aprenda como usar o VBA no Excel

PROMOÇÃO ESPECIAL - EXCEL VBA Adquirir o Material Didático Escola SaberExcel VBA Estudos

excel-planilha-treinamentos

Quantas vezes nos deparamos com algo no Excel que atrapalha a performance de nossas planilhas como por exemplo o excesso de fórmulas. que demora na execução de nossos trabalhos lento e demorado. É neste ponto que muitos enviam e-mails para os sites, fórum perguntando o que fazer, até que algum expert em Excel lhe diz que já hora de você usar o VBA (Visual Basic Application). Neste Momento vem a dúvidas o que é de fato VBA ou para que serve uma VBA (ou Visual Basic for Application).
A programação em VBA as vezes pode Assustar a primeira Vista, porque os comandos e códigos podem parecer complicados e difícil, mas seguindo algumas regras posso lhe afirmar que não é tão difícil. Pois os comandos e Códigos, Objetos, Propriedades dos Objetos, Métodos e Eventos são os vocábulos do VBA que se você se familiar com eles poderão resolver a maioria dos seus problemas seus trabalhos usando o VBA(Visual Basic Application).

ABA DESENVOLVEDOR DO EXCEL VBA COMO ADICIONÁ-LA NOS GRUPOS DE MENUS

As configurações simples do Excel, permite-nos adicionarmos uma aba desejada no item de Menu Chamado de Desenvolvedor, é uma ferramenta que as extensões de opções de Macros e Acesso à área de programação do VBA. Nas versões mais recentes do Excel 2010 e 2013, é extremamente fácil adicionar esse Item de Menu (Desenvolvedor) siga os passos abaixo

1º – Va na opção Arquivo, localizado no canto superior esquerdo, e clique em Opções do Excel.



 

 

 

2 – Clique na opção Personalizar Faixa de Opções.



3 – E perceba que a grupo de Menus Desenvolvedor, estará juntos com as demais Abas.
sbx_05

 

 

COMANDOS DO VBA NOÇÕES SOBRE O QUE SÃO
Neste ponto é muito importante que você tenha noções de alguns comandos do VBA, obviamente noções básicas do VBA referente aos objetos usados com mais frequência pelos usuários.

  • Range o que são: Range refere-se a uma um grupo de células, intervalos de células ou a uma única célula em sua folha de planilha desejadas no aplicativo Excel.
    Exemplo: Range('A5').Value=3
  • Cells: uma outra maneira de referir-se a um objeto Range é Usar a propriedade Cells em uma única célula ou um conjunto de células
    em sua folha de planilha no aplicativo Excel.
    Exemplo:
    Cells(2,2).Value=6
  • Worksheets: refere-se a uma planilha, objeto particular do Excel. Exemplo: Worksheets(‘Plan3’).Select
  • WorksheetFunction:  As WorkSheetFunctions são poderosíssimas, podemos usá-las no VBA, com muita precisão, são as Funções de Planilhas do Excel que são chamadas através do VBA..
    Em nossos Estudos fizemos exemplos de planilhas para cada Função do Excel, são 341 planilhas WorkSheetFunctions VBA
    Exemplo: WorksheeFunction.Sum(Range('A1: A200')
    MsgBox:  Essa função Msgbox usamos para mostrarmos mensagens aos nossos usuários, poderá mostrar textos, números, alertas, etc…. Exemplo: MsgBox Worksheet.Name

TIPOS DE DADOS DO VBA 

Identificar os tipos de dados que poderão declarar suas variáveis é extremamente importante na programação Excel VBA.

  • Byte: Usado para armazenar inteiros sem sinais entre 0 e 225.
  • Boolean: Usado para armazena Verdadeiro ou Falso.
  • Integer: Usado para armazena inteiros entre -32.768 e 32.767.
  • Long: Usado para armazena inteiros entre -2.147.483.648 e 2.147.483.647.
  • Cuurency: Usado para armazenar inteiros na escala de 10.000 entre -922.337.203.685.477,5808 e .337.203.685.477,5807, para moedas
  • Single: Usado paraarmazena números de ponto flutuante entre -3,402823E38 e -1,401298E-45 para valores negativos, e entre 1,401298E-45 e 3,402823E38 para valores positivos.
  • Double: Usado paraarmazenar números de pontos flutuantes entre -1,79769313486231E308 e -4,94065645841247E-324 para valores negativos, e entre 4,94065645841247E-324 e 1,79769313486232E308 para valores positivos, usamos geralmente também onde há números que contenha Decimais,
    Date: Usado para armazenar datas (números de pontos flutuantes) entre 1° de Janeiro de 100 e 31 de Dezembro de 9999 e tempo entre 0:00:00 e 23:59:59.
  • String: Usado para armazenar string(Textos) de caracteres. Existem duas espécies de strings:
    • Strings de tamanhos variáveis: podem conter até 2.000 milhões (2^31) de caracteres.
    • Strings de tamanho fixo: podem conter entre 1 e 64 KB (2^16) caracteres.
  • Object: Usado para armazena endereços que se referem a outros objetos.
  • Variant (predeterminada):  tipo de dado default para cada variável que não é declarada como de qualquer outro tipo.
  • User defined type: tipo de dado criado pelo usuário.

USANDO VBE – O VISUAL BASIC EDITOR O EDITOR DO VISUAL BASIC

O VBE é um objeto como o próprio nome sugere, é o Editor do VBA, caso voce deseja visualizá-lo, poderá teclar ALT + F11 que entrará em contato com essa Ferramenta. O VBE, é usado intensamente pelo VBA, para fazer tarefas como a gravação de macros e edição dos códigos para configuração de Eventos, Métodos e o ajustar as propriedades dos Objetos (Alfabético e Categorizado)

Observe que no mundo da NET é disponibizado uma infinidade de exemplos de comandos e códigos do comando Excel VBA para diversas finalidades, mas é necessário ter um conhecimento básico para inseri-los no VBE, usando os módulos corretos, o VBE apresenta características bem simples, quando você digita algum comando o Intellisense que é uma caixinha com os membros pertencentes aquela função, método ou propriedade para ajudá-lo no preenchimento dos códigos VBA. Vamos ver como Gravar um macro e executá-lo para você já ir se familiarizando com o VBA que ajuda muito em programação, mesmo que seja um expert, as vezes usam para ver o código e tirar parte deles ou na totalidade.
Temos as nossas vídeo aulas sobre GM(Gravador de Macros) mais ou menos
umas 115 e sendo incrementadas a medida em que aparece alguma matéria relevante.

1 – Vamos gravar um Macro simples para ir se familiarizando e aprendendo
sobre Excel VBA. Observe que o GM(Gravador de Macros), irá gravar todos os seus passos nas células do Excel e depois estará prontos para serem executados e repetirem quantas vezes for necessário na primeira célula da planilha e selecione Gravar Macro na aba Desenvolvedor

 

Dê o nome de Alterar para a Macro e confirme;

 

Após Renomear seu macro, Clique em Ok,   escreva algo em qualquer célula, poderá inserir cores, negrito, mudar de fonte, em seguida, quando terminar sua tarefa clique na quadradinho azul para que o macro pare de gravar encerrando suas a atividade.

 

2 – Observe que na Guia Desenvolvedor do VBA, existe uma um Ícone Quadradinho com o texto Parar Gravação, você deverá clicar nele para encerrar as atividades do GM(Gravador de Macros). Observe que neste ponto o quadradinho azul se transformará em uma bolinha Vermelha, informando que o GM(Gravador de Macros foi encerrado.

sbx_09

 

icon SaberExcel VBA – Macro Gravada (40.01 kB)

Global Const s = “Escola SaberExcel VBA Estudos”
Global Const a = “Treinamento com Macros, Fórmulas e Funções”
Global Const b = http://www.saberexcel.com.br
Global Const e = contato @ saberExcel com br
Global Const r = vbInformation
Global Const x = “Aprenda Excel VBA.”

Sub Macro1()
‘ Macro Gravada
‘ Macro1 Macro


    Range(“D6”).Select
    ActiveCell.FormulaR1C1 = “Macro Gravada”
    Range(“D7”).Select
    ActiveCell.FormulaR1C1 = “Escola SaberExcel VBA Estudos”
    Range(“D8”).Select
    ActiveCell.FormulaR1C1 = “Treinamentos com Macros, Fórmulas e Funções”
    Range(“D9”).Select
    ActiveCell.FormulaR1C1 =
http://www.saberexcel.com.br
    Range(“D10”).Select
    ActiveCell.FormulaR1C1 =
[email protected]
    Range(“F13”).Select
End Sub

‘=============isso poderia ser assim

Sub sbx_macro()
[d6].Value = “Macro”
[d7].Value = “Escola SaberExcel VBA Estudos”
[d8].Value = “Treinamento com Macros, Fórmulas e Funções”
[d9].Value =
http://www.saberexcel.com.br
[d10].Value = [email protected]
End Sub

‘===============’ ou poderia ser assim usando constantes no topo

‘topo do módulo
Sub sbx_macro_1_variaveis()
[d6].Value = “Macro com Constantes”
[d7].Value = s
[d8].Value = a
[d9].Value = b
[d10].Value = e
MsgBox s & vbCrLf & a & vbCrLf & b & vbCrLf & e, r, x
End Sub

‘===============’ ou assim

Sub sbx_macro_2_variaveis()
Dim u, v, x, y As String
[d6].Value = “Macro com Variaveis”
u = “Escola SaberExcel VBA Estudos”
v = “Treinamentos com Macros,Fórmulas e Funções”
x = “http//www.saberexcel.com.br”
y =
[email protected]
[d7] = u
[d8] = v
[d9] = x
[d10] = y
MsgBox u & vbCrLf & v & vbCrLf & x & vbCrLf & y, r, x
End Sub

 


Sub sbx_limpar()
[d7:d10,d6].ClearContents
End Sub

COMO LIDAR COM EVENTOS WORKBOOK E WORKSHEETS

icon WorkBook1- SelectionChange (51.44 kB)   – no fim do post 

Para acessar o ambiente do VBA, você tem alguns atalhos o mais usado é é esse Desenho Visual Basic, clicando sobre o item, abrirá o ambiente do Visual Basic ou simplesmente teclar ALT + F11.
Neste ponto devemos Acessar os Eventos do WorkBook você Irá abrir ,uma caixa do Eventos que fica a direita do Objeto Escolhido,
Poderá escolher os Objetos.

EstaPasta_de_Trabalho (WorkBook) que afetará todas as folhas de Planilhas
– Modulos
– Plan1
– Plan2
– Plan3
Neste caso especifico para fazermos os teste vamos selecionar o Objeto Workbook – (EstaPasta_de_Trabalho, e vamos escolher os eventos que serão listados no segundo DropDown(lista suspensa) a Direita no VBE.

 

ATENÇAO:  Trabalhar com Eventos (WorkBooks, WorkSheets, e outros é o desejo de muitos porém não sabem onde localizam, nas vídeo aulas especificas que abordamos esse assunto e existe muita explicação sobre esse assunto  de como usar corretamente e localização desses Eventos.
Esses Eventos estão na caixinha suspensa dos Eventos dos Objetos. Veja que por padrão o VBA insere o Evento SelectionChange ao selecionar e isso é feito automaticamente quando já escolhe o objeto na caixa de propriedade do Objeto, após isso é só ir na caixa de Listagem dos Eventos a direita e escolher o Evento desejado.
OBJETO WORKBOOk:  Listarei somente 4, mas contém vários veja lá na caixa.
'———-

'ao selecionar em qualquer folha de planilha, retorna o item desejado ou ação.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 icon WorkBook1- SelectionChange    — no fim do post 

End Sub
'———-
'Evento funcionara em qualquer folha de planilha que for Ativada.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Códigos
 icon WorkBook1- SelectionChange   – download no fim do post

End Sub
'———-
' Esse Evento Auto Open funcionará ao Abrir o sua Planilha
Sub Private Workbook_Open()
 icon WorkBook1- SelectionChange   – download no fim do post

'Códigos
End Sub
'———-
Esse evento Funcionará ao Fechar o WorkBook.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Códigos
icon WorkBook1- SelectionChange
End Sub
'———-

EVENTOS DO OBJETOS WORKSHEETS (para folha de planilha individuais)
'Esse Evento é inserido por padrão quando clicar no Objeto retornará o que deseja com código ao selecionar células da folha de planilha especifica.

 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Códigos
End Sub
'———-

'Esse evento funcionará quando escrever, alterar, células em determinada folha de planilha, neste evento WorkSheet – estará referindo somente a uma folha de planilha especifica
Para ilustrar melhor fiz um pequeno exemplo de soma usando o Evento Change de determinada folha de planilha, que retornam o valor
da soma automaticamente.
iconSaberExcel VBA – Evento somar valores automaticamente
Não deixe de ver nossas vídeo aula e planilhas exemplos.

 Sub soma_b()
 Dim tSoma, vCol As Double
 UltimaColuna = Plan2.Cells(3, Columns.Count).End(xlToLeft).Column
 For vCol = 3 To UltimaColuna
      tSoma = tSoma + Plan2.Cells(3, vCol).Value
 Next vCol
 Plan1.Cells(3, “d”).Value = tSoma
 Plan2.Cells(1, “d”).Value = tSoma
End Sub

///==============

 

 icon WorkSheet1 – Eventos (39.26 kB)   – download no fim do post 

Private Sub Worksheet_Change(ByVal Target As Range)
'Códigos
End Sub
'———-'
Esse Evento ocorrera quando ativar essa folha de planilha específica com esse Evento
Private Sub Worksheet_Activate()
icon WorkSheet1 – Eventos  – Downlod no fim do Post

End Sub
'———-'
Esse evento Deactivate ocorrerá quando desativar a folha de planilha, isto é
selecionar outra, estará desativando a ativa
.

Private Sub Worksheet_Deactivate()
MsgBox “Desativou-me – ” & Plan1.Name
End Sub

Esse evento ocorrerá quando clicar duas vezes sobre as células de uma folha de especifica, a que contiver os códigos e o evento
Pivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

icon  WorkSheet1 – Eventos   – download no fim do Post

End Sub

4 – Escolha o Objeto, selecione-o, e abra a caixa suspensa de texto do referido objeto à direita


 Este evento é usado em uma única folha de planilha para que somente ela nela seja enviada a mensagem (Diferentemente do Código no Evento WorkBook Private Sub Workbook_SheetChange que sensibiliza todas as folhas de planilhas

PrivateSub Worksheet_Change(ByVal Target As Range)
MsgBox 'Conteúdo desta célula” & Target.Address & ” foram Alterados!!!”
End Sub

'=========
Observe que vamos usar os eventos na planilha (2) como exemplo, somente para vermos como funcionam, poderá fazer outros códigos que atendam a outras necessidades, também vou postar uma planilha que faz uma soma automática (Usando linha e Colunas, também como treinamento). Lembrando que essa Planilha Soma será objeto de Uma Vídeo-Aula para treinamento.
INSERIR A PLANILHA AQUI (SOMA)

'Usaremos um intervalo de datas para responder ao Evento Change'
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(“C4:I12”), Target) Is Nothing And Target.Count = 1 Then   MsgBox “Essa Célula ” & Target.Address & ” foi alterada!”
End If
End Sub

'Usaremos um intervalo de datas para responder ao Evento SelectionChange'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range(“L4:Q10”), Target) Is Nothing And Target.Count = 1 Then   MsgBox “Essa Célula ” & Target.Address & ” foi selecionada!”, vbInformation, “Escola SaberExcel VBA Estudos”
End If
End Sub

'Usaremos um intervalo de datas para responder ao Evento Worksheet_BeforeDoubleClick

iconWorkSheet1 – Eventos – Download no fim do Post

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range(“C16:E23”), Target) Is Nothing And Target.Count = 1 Then   MsgBox “Essa Célula ” & Target.Address & ” Celula com Duplo Click!”, vbInformation, “Escola SaberExcel VBA Estudos”
End If
End Sub

'Usaremos um intervalo de datas para responder ao Evento Worksheet_BeforeRightClick
Exemplo: Worksheet1_Eventos
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range(“G16:I23”), Target) Is Nothing And Target.Count = 1 Then
  MsgBox “Essa Célula ” & Target.Address & ” acão: botão direito Mouse”, vbInformation, “Escola SaberExcel VBA Estudos”
End If
End Sub


 Os argumentos seguintes (ByVal Target As Range) são os parâmetros de entrada do evento que são usadas pelos programadores, inclusive esses nomes poderão ser trocados sem problemas, mas desde que sejam lembrados nos códigos.
Observe que a palavra Sub corresponde ao início do procedimento as palavras End Sub, significam respectivamente  o fim da ação da rotina propriamente dita, isto é rodou todos os comandos e executou todos os códigos. sbx 12

 


 icon WorkSheet1 – Eventos  – Download no fim do Post

 

6 – O comando será executado a partir da macro selecionada, e lhe retornará a mensagem de célula alterada para a primeira célula da planilha que foi modificada.   sbx-13

 

 

7 – Clique em OK e voltarás para a página do Visual Basic. Pronto o comando, pode fechá-la. Agora, basta adicionar qualquer dado à planilha e verás, que a cada célula editada, retornará a mensagem de alteração da mesma.



Fizemos alguns exemplos e para que voce note o quão importante é conhecer bem o objeto Excel (Application), programar não é dificil, basta seguir uma linha de raciocínio sem deixar se contaminar com codigos dificeis  e muitas vezes desnecessários à programação. Pois cada programador desenvolve um tipo de programação e principalmente aqueles que não quer perder tempo estudando sobre o Vocábulo do VBA, acabam por confundir os que estão aprendendo e de fato ficam ambos sem saber  forma correta de programar, lembre-se: tem que ter uma linha de ideias de programação, como usar as Funções do VB adequadamente
.
Por isso temos as vídeo aulas que ensinam de forma simples como programar,
extrair relatórios, usar variáveis para soma, subtração, multiplicação de forma fácil e tranquila de programar, escrevendo menos e fazendo mais, desmistificando o excel vba.

 

Adquira Curso Excel VBA Expert   PagSeguroPayPal ou Deposito Direto 


Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola SaberExcel VBA Estudos® – Treinamentos com Macros, Fórmulas e Funções. 
Compre pelo PagSeguro   Compre pelo PayPal
excel-vba-treinamento-pagseguro  
     
 Material Didático: Curso Excel VBA Expert 
 
excel vba treinamentos planilhas
 
 
icon   — Faça o Download do Exemplo do Post Acima:
—– Verifique em sua caixa de Itens Excluídos …
 

    Aprenda como usar o VBA no Aplicativo Excel
    .

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *