SlideShare uma empresa Scribd logo
Tutorial 1 - Básico do VBA do Excel
Este tutorial contém a 1ª lição sobre a série Básico do VBA do Excel. Ele cobre tópicos de criação e
gerenciamento de matrizes e o entendimento de estruturas de decisão e laço do VBA. Os iniciantes na
programação de VBA serão encorajados a percorrerem de cabo a rabo as lições anteriores desta série se eles já
não tiverem feito isto. Este documento contém informações sobre os seguintes tópicos.
 Criando a Sua Primeira Macro
 Gravando Sua Primeira Macro
Gravando uma Marco
Ver a Sintaxe Gravada
Rodando a Macro Gravada
 Módulos e Procedimentos
Módulos e Procedimentos e Seu Escopo
Chamando Procedimentos Sub e Procedimentos Function
Passando Argumento pelo Valor ou por Referência
O site de Suporte da Microsoft ou a seção de Ajuda (Help) do VBA Excel no seu computador contém exemplos
compreensíveis sobre a maioria das coisas cobertas neste tutorial. Para mais informação, por favor, refira-se a
eles.
Criando Sua Primeira Macro Microsoft Support
Nesta subseção lhe mostraremos como criar sua primeira macro (programa VBA). Nós usaremos o clássico
exemplo mundial "Alô Mundo!". Para criar o exemplo, por favor, siga os seguintes passos:
1. Abra o Visual Basic Editor indo à guia Desenvolvedor, no grupo Código e clique no botão Visual Basic
ou apenas pressione as teclas [Alt] e [F11] ao mesmo tempo.
2. No menu Inserir no topo do Visual Basic Editor, selecione Módulo para abrir a janela Módulo (janela
de código).
3. Na janela Módulo, digite o seguinte:
Sub mostrarMensagem()
MsgBox "Alô Mundo!"
End Sub
4. Clique o botão Executar Sub/UserForm, , ou pressione [F5], ou vá para Executar...Executar
Sub/UserForm para executar o programa
5. A caixa de mensagem aparece com a saudação "Alô Mundo!".
Este é o seu primeiro programa VBA.
Gravando a Sua Primeira Macro
Gravando uma Macro
O Microsoft Excel tem um gravador de macro embutido que traduz as suas ações em comandos de macro do
VBA. Depois de você ter gravado a macro, você será capaz de ver o layout e a sintaxe. Antes de você gravar
ou escrever uma macro, planeje os passos e comandos que você quer que a macro realize. Cada ação que
você fizer durante a gravação da macro será gravada – incluindo a correção que você fez.
Neste exemplo, gravaremos uma macro que configura a cor de fundo da célula para amarelo claro. Para gravar
a macro, siga os passos abaixo:
1. Selecione o botão Gravar macro no grupo Código, da guia Desenvolvedor.
2. Na caixa de diálogo Gravar macro, digite “ConfigurarCorDePreenchimento" na caixa de texto Nome
da macro para designar o nome da macro. Deixe todas as outras opções como default e daí então
clique no botão Ok. Isto começará a gravação da macro.
Ou vá ao final da planilha e clique no botão
3. No Painel de Cor de Fundo (Background), selecione a caixa de cor Amarelo Claro. Esta ação
configurará o fundo da célula atual (A1) na cor amarelo claro.
4. Para parar a gravação da macro, clique no botão Parar (o retângulo azul marinho) na barra de
ferramentas Gravador de Macro.
Agora você tem uma macro gravada que configura o fundo da célula para amarelo claro.
Ver a Sintaxe Gravada
A macro gravada está pronta para uso. Antes de rodarmos a marco, vamos investigar a sintaxe.
1. Para carregar o Visual Basic Editor, pressione [Alt] e [F11] ao mesmo tempo. (Lembre-se de nossa
lição anterior?) O Visual Basic Editor aparece.
2. Expandir a pasta Módulos no Project Explorer clicando no sinal de mais (+).
3. Duplo clique na pasta Módulo1 para ver a sub-rotina (macro).
Como a figura mostra, o nome da sub-rotina é "ConfigurarCorDePreenchimento". O índice de cor para o laranja
claro é 40. O padrão do fundo (background) é sólido.
Executar a Macro Gravada
No nosso exemplo anterior, criamos uma macro "Alô Mundo!". Nós rodamos a macro dentro do Visual Basic
Editor. Desta vez nós rodamos o gravador de macro na planilha.
1. Em qualquer planilha, selecione de B2 a D4.
2. Rodar a macro gravada selecionando a guia Desenvolvedor...o grupo Código...o ícone ... ou
pressionando [Alt] e [F8] ao mesmo tempo. Ou ainda junto as guias de planilha, no fundo da planilha selecione o
ícone
3. A caixa de diálogo Macro é mostrada. Desde que existe somente uma macro no módulo, por default a única
macro, ConfigurarCorDePreenchimento é selecionada. Clique no botão Executar para rodar a macro.
4. As células do intervalo B2:D4 agora tem cor de fundo (background) laranja claro.
Módulos e Procedimentos
Módulos e Procedimentos e Seus Escopos
Um módulo é um recipiente (container) para procedimentos como mostrado nos nossos exemplos
anteriores. Um procedimento é uma unidade de código confinado entre as declarações Sub e End Sub ou
entre as declarações Function e End Function.
O procedimento sub (ou sub-rotina) seguinte imprime a data e o tempo atual na célula C1:
Sub MostrarTempo()
Range("C1") = Now()
End Sub
A função seguinte soma até dois números:
Function somaNo(x, y)
somaNo = x + y
End Function
Procedimentos no Visual Basic podem ter ou o escopo private ou public. Um procedimento com escopo
private é somente acessível aos outros procedimentos no mesmo módulo; um procedimento com escopo
public é acessível a todos procedimentos em cada módulo na pasta de trabalho na qual o procedimento é
declarado, e em todas as pastas que contenham uma referência àquela pasta. Por default, procedimentos
tem escopo public.
Aqui estão exemplos de definição do escopo para procedimento.
Public Sub MostrarTempo()
Range("C1") = Now()
End Sub
Private Sub MostrarTempo ()
Range("C1") = Now()
End Sub
Chamando Procedimentos Sub e Procedimentos Function
Existem duas maneiras de se chamar um procedimento sub. O exemplo seguinte mostra como um
procedimento sub pode ser chamado pelos outros procedimentos sub.
Sub z(a)
MsgBox a
End Sub
Sub x()
Call z("ABC")
End Sub
Sub y()
z "ABC"
End Sub
O procedimento sub z tem um argumento (a) e exibe o valor argumento ("ABC") numa caixa de mensagem.
Rodar ou Sub x ou Sub y conduzirá ao mesmo resultado.
O exemplo seguinte chama um procedimento function de um procedimento sub.
Sub MostrarSoma()
msgbox somaNo(3,5)
End Sub
Function somaNo(x, y)
somaNo = x + y
End Function
O procedimento sub MostrarSoma chama a função somaNo e retorna um "8" numa caixa de mensagem.
Se houverem procedimentos com nomes duplicados em diferentes módulos, você deve precisar incluir um
qualificador de módulo antes do nome do procedimento quando chamar o procedimento.
Por exemplo:
Módulo1.MostrarSoma
Passando Argumento por Referência ou por Valor
Se você passar um argumento por referência quando chamar um procedimento, o procedimento acessa à
variável atual na memória. Como resultado, o valor da variável pode ser mudado pelo procedimento. Passar
por referência é o default no VBA. Se você não especificar explicitamente em passar um argumento por
valor, o VBA o passará por referência. As duas declarações seguintes conduzem ao mesmo resultado.
Sub AdicionaNo(ByRef x as integer)
Sub AdicionaNo(x as integer)
Aqui está um exemplo para mostrar o comportamento por referência. O procedimento sub, TestePassagem1
chama AdicionaNo1 por referência e mostra "60" (50 + 10) na caixa de mensagem.
Sub TestePassagem1()
Dim y As Integer
y = 50
AdicionaNo1 y
MsgBox y
End Sub
Sub AdicionaNo1(ByRef x As Integer)
x = x + 10
End Sub
O exemplo seguinte mostra o comportamento por valor. O procedimento sub, TestePassagem2 chama
AdicionaNo2 por valor e mostra "50" na caixa de mensagem.
Sub TestePassagem2()
Dim y As Integer
y = 50
AdicionaNo2 y
MsgBox y
End Sub
Sub AdicionaNo2(ByVal x As Integer)
x = x + 10
End Sub

Mais conteúdo relacionado

PDF
Excel VBA: Aula 2
PDF
Excel VBA: Aula 8
PDF
Excel VBA: Aula 3
PDF
03 - Introdução a lógica de programação parte 3 - v1.1
PPTX
Aula 02 programação_c_alunos
PDF
Sobre as Macros
PDF
Apostila de Introdução aos Algoritmos - usando o Visualg
Excel VBA: Aula 2
Excel VBA: Aula 8
Excel VBA: Aula 3
03 - Introdução a lógica de programação parte 3 - v1.1
Aula 02 programação_c_alunos
Sobre as Macros
Apostila de Introdução aos Algoritmos - usando o Visualg

Mais procurados (20)

PDF
Apostila Visualg
PDF
PDF
Introdução a Banco de Dados (Parte 3)
PDF
Ficha teorica aula_input_reader
PDF
Curso Java I
PPTX
Dubles de Testes - Na Pratica
PDF
Tutorial java orientação a objetos parte 1
PDF
Cadastro de clientes em c#
PDF
Macro br
PDF
Apresentacaosobre vba
PDF
Curso de Java (Parte 2)
PDF
Excel VBA: Aula 12
PDF
Excel VBA: Aula 9
DOC
Apostila De Visualg
PDF
mod1-algoritmia
PDF
Excel VBA: Aula 11
PPT
Ferramentas testes2003
PDF
Strategy - Padrões de Projeto
PDF
Exercicios - Java Swing
PPTX
Curso Java Básico - Aula 01
Apostila Visualg
Introdução a Banco de Dados (Parte 3)
Ficha teorica aula_input_reader
Curso Java I
Dubles de Testes - Na Pratica
Tutorial java orientação a objetos parte 1
Cadastro de clientes em c#
Macro br
Apresentacaosobre vba
Curso de Java (Parte 2)
Excel VBA: Aula 12
Excel VBA: Aula 9
Apostila De Visualg
mod1-algoritmia
Excel VBA: Aula 11
Ferramentas testes2003
Strategy - Padrões de Projeto
Exercicios - Java Swing
Curso Java Básico - Aula 01
Anúncio

Semelhante a Basico dovba excel_tutorial1 (20)

PPTX
Curso de Macros en Excel (VBA)
DOC
Uso de macros_no_msexcel
PDF
5 modificando macros-vbe
PDF
Apostila minicurso de vba iii - 2020.1
PDF
1214 visual basic
PDF
4 ambiente vbe
PPT
Excel Basic com VBA - Macros
PDF
Apostila excel vba
PDF
Curso de VBA Apostila PET Civil UFRGS 2021/1.pdf
PDF
Apostila vba excel
PDF
Apostila vba excel
PDF
Curso de Excel VBA
PDF
Apostila excel vba completa portugues
PDF
3867 criando macros vba excel
PDF
Criando macros vba excel 2003
PDF
Programação de Macros com LibreOffice Basic
PDF
Programacao de macros_com_libre_office_basic_slideshare
PDF
Programação de Macros com LibreOffice Basic
PDF
Módulo 08 macros em excel
PDF
Cronograma excel avançado
Curso de Macros en Excel (VBA)
Uso de macros_no_msexcel
5 modificando macros-vbe
Apostila minicurso de vba iii - 2020.1
1214 visual basic
4 ambiente vbe
Excel Basic com VBA - Macros
Apostila excel vba
Curso de VBA Apostila PET Civil UFRGS 2021/1.pdf
Apostila vba excel
Apostila vba excel
Curso de Excel VBA
Apostila excel vba completa portugues
3867 criando macros vba excel
Criando macros vba excel 2003
Programação de Macros com LibreOffice Basic
Programacao de macros_com_libre_office_basic_slideshare
Programação de Macros com LibreOffice Basic
Módulo 08 macros em excel
Cronograma excel avançado
Anúncio

Mais de Carlos Adriano Rosa (6)

DOC
A implantacao-de-um-parque-eolico-e-a-descoberta-de-sitios-arqueologicos
PDF
A musica como_instrumento_de_reinsercao_sociocultual_e_humanizacao_da_pena_na...
PDF
Cultura de videira 1
PDF
Catalogus minigolf english
PDF
Aquecedor solar de_garrafa_pet
A implantacao-de-um-parque-eolico-e-a-descoberta-de-sitios-arqueologicos
A musica como_instrumento_de_reinsercao_sociocultual_e_humanizacao_da_pena_na...
Cultura de videira 1
Catalogus minigolf english
Aquecedor solar de_garrafa_pet

Último (16)

PPT
tarefa do administrador em finanças hoje
PPTX
Planilha de custo e formação de preços.pptx
PDF
TRABALHO DE MATEMÁTICA FINAL SLIDES (3).pdf
PPTX
BLOCOS ECONOMICOS PARA ALUNOS DO 9 ANO DO ENSINO BASICO
PPTX
ADM FINANCEIRA - A ESTRUTURA DO DEPARTAMENTO FINANCEIRO
PDF
AULA2_ADMINISTRACAO_FINANCEIRA_CAPITALGIRO.pdf
PDF
Organização sistemas e metodos - adminis
PPTX
AULA 5_JOGOS-PRÉ DESPORTIVOS_260822.pptx
PDF
Gastos com o Pessoal - quais os gastos com pessoal
PPT
3999805-Qquimica-PPT-Hidrocarbonetos.ppt
PDF
Tema1.Aatividade económica e a ciência económica.pttx
PPT
ANÁLISE FINANCEIRA apresentação completa.ppt
PDF
Pilulas-do-Conhecimento-Suprimento-de-Fundos-Orientacoes-Gerais-e-Regularizac...
PPTX
planejamento estratégico em rh etrtrtrt
PPTX
Aula 1 - Introdução à Contabilidade Pública - CASP (1).pptx
PDF
Cartórios: Pilar Estratégico para a Economia, Cidadania e Eficiência do Brasil
tarefa do administrador em finanças hoje
Planilha de custo e formação de preços.pptx
TRABALHO DE MATEMÁTICA FINAL SLIDES (3).pdf
BLOCOS ECONOMICOS PARA ALUNOS DO 9 ANO DO ENSINO BASICO
ADM FINANCEIRA - A ESTRUTURA DO DEPARTAMENTO FINANCEIRO
AULA2_ADMINISTRACAO_FINANCEIRA_CAPITALGIRO.pdf
Organização sistemas e metodos - adminis
AULA 5_JOGOS-PRÉ DESPORTIVOS_260822.pptx
Gastos com o Pessoal - quais os gastos com pessoal
3999805-Qquimica-PPT-Hidrocarbonetos.ppt
Tema1.Aatividade económica e a ciência económica.pttx
ANÁLISE FINANCEIRA apresentação completa.ppt
Pilulas-do-Conhecimento-Suprimento-de-Fundos-Orientacoes-Gerais-e-Regularizac...
planejamento estratégico em rh etrtrtrt
Aula 1 - Introdução à Contabilidade Pública - CASP (1).pptx
Cartórios: Pilar Estratégico para a Economia, Cidadania e Eficiência do Brasil

Basico dovba excel_tutorial1

  • 1. Tutorial 1 - Básico do VBA do Excel Este tutorial contém a 1ª lição sobre a série Básico do VBA do Excel. Ele cobre tópicos de criação e gerenciamento de matrizes e o entendimento de estruturas de decisão e laço do VBA. Os iniciantes na programação de VBA serão encorajados a percorrerem de cabo a rabo as lições anteriores desta série se eles já não tiverem feito isto. Este documento contém informações sobre os seguintes tópicos.  Criando a Sua Primeira Macro  Gravando Sua Primeira Macro Gravando uma Marco Ver a Sintaxe Gravada Rodando a Macro Gravada  Módulos e Procedimentos Módulos e Procedimentos e Seu Escopo Chamando Procedimentos Sub e Procedimentos Function Passando Argumento pelo Valor ou por Referência O site de Suporte da Microsoft ou a seção de Ajuda (Help) do VBA Excel no seu computador contém exemplos compreensíveis sobre a maioria das coisas cobertas neste tutorial. Para mais informação, por favor, refira-se a eles. Criando Sua Primeira Macro Microsoft Support Nesta subseção lhe mostraremos como criar sua primeira macro (programa VBA). Nós usaremos o clássico exemplo mundial "Alô Mundo!". Para criar o exemplo, por favor, siga os seguintes passos: 1. Abra o Visual Basic Editor indo à guia Desenvolvedor, no grupo Código e clique no botão Visual Basic ou apenas pressione as teclas [Alt] e [F11] ao mesmo tempo. 2. No menu Inserir no topo do Visual Basic Editor, selecione Módulo para abrir a janela Módulo (janela
  • 2. de código). 3. Na janela Módulo, digite o seguinte: Sub mostrarMensagem() MsgBox "Alô Mundo!" End Sub 4. Clique o botão Executar Sub/UserForm, , ou pressione [F5], ou vá para Executar...Executar Sub/UserForm para executar o programa
  • 3. 5. A caixa de mensagem aparece com a saudação "Alô Mundo!". Este é o seu primeiro programa VBA. Gravando a Sua Primeira Macro Gravando uma Macro O Microsoft Excel tem um gravador de macro embutido que traduz as suas ações em comandos de macro do VBA. Depois de você ter gravado a macro, você será capaz de ver o layout e a sintaxe. Antes de você gravar ou escrever uma macro, planeje os passos e comandos que você quer que a macro realize. Cada ação que você fizer durante a gravação da macro será gravada – incluindo a correção que você fez. Neste exemplo, gravaremos uma macro que configura a cor de fundo da célula para amarelo claro. Para gravar a macro, siga os passos abaixo: 1. Selecione o botão Gravar macro no grupo Código, da guia Desenvolvedor. 2. Na caixa de diálogo Gravar macro, digite “ConfigurarCorDePreenchimento" na caixa de texto Nome da macro para designar o nome da macro. Deixe todas as outras opções como default e daí então clique no botão Ok. Isto começará a gravação da macro. Ou vá ao final da planilha e clique no botão
  • 4. 3. No Painel de Cor de Fundo (Background), selecione a caixa de cor Amarelo Claro. Esta ação configurará o fundo da célula atual (A1) na cor amarelo claro. 4. Para parar a gravação da macro, clique no botão Parar (o retângulo azul marinho) na barra de ferramentas Gravador de Macro.
  • 5. Agora você tem uma macro gravada que configura o fundo da célula para amarelo claro. Ver a Sintaxe Gravada A macro gravada está pronta para uso. Antes de rodarmos a marco, vamos investigar a sintaxe. 1. Para carregar o Visual Basic Editor, pressione [Alt] e [F11] ao mesmo tempo. (Lembre-se de nossa lição anterior?) O Visual Basic Editor aparece. 2. Expandir a pasta Módulos no Project Explorer clicando no sinal de mais (+).
  • 6. 3. Duplo clique na pasta Módulo1 para ver a sub-rotina (macro).
  • 7. Como a figura mostra, o nome da sub-rotina é "ConfigurarCorDePreenchimento". O índice de cor para o laranja claro é 40. O padrão do fundo (background) é sólido. Executar a Macro Gravada No nosso exemplo anterior, criamos uma macro "Alô Mundo!". Nós rodamos a macro dentro do Visual Basic Editor. Desta vez nós rodamos o gravador de macro na planilha. 1. Em qualquer planilha, selecione de B2 a D4. 2. Rodar a macro gravada selecionando a guia Desenvolvedor...o grupo Código...o ícone ... ou pressionando [Alt] e [F8] ao mesmo tempo. Ou ainda junto as guias de planilha, no fundo da planilha selecione o ícone 3. A caixa de diálogo Macro é mostrada. Desde que existe somente uma macro no módulo, por default a única macro, ConfigurarCorDePreenchimento é selecionada. Clique no botão Executar para rodar a macro.
  • 8. 4. As células do intervalo B2:D4 agora tem cor de fundo (background) laranja claro. Módulos e Procedimentos Módulos e Procedimentos e Seus Escopos Um módulo é um recipiente (container) para procedimentos como mostrado nos nossos exemplos anteriores. Um procedimento é uma unidade de código confinado entre as declarações Sub e End Sub ou entre as declarações Function e End Function. O procedimento sub (ou sub-rotina) seguinte imprime a data e o tempo atual na célula C1: Sub MostrarTempo() Range("C1") = Now()
  • 9. End Sub A função seguinte soma até dois números: Function somaNo(x, y) somaNo = x + y End Function Procedimentos no Visual Basic podem ter ou o escopo private ou public. Um procedimento com escopo private é somente acessível aos outros procedimentos no mesmo módulo; um procedimento com escopo public é acessível a todos procedimentos em cada módulo na pasta de trabalho na qual o procedimento é declarado, e em todas as pastas que contenham uma referência àquela pasta. Por default, procedimentos tem escopo public. Aqui estão exemplos de definição do escopo para procedimento. Public Sub MostrarTempo() Range("C1") = Now() End Sub Private Sub MostrarTempo () Range("C1") = Now() End Sub Chamando Procedimentos Sub e Procedimentos Function Existem duas maneiras de se chamar um procedimento sub. O exemplo seguinte mostra como um procedimento sub pode ser chamado pelos outros procedimentos sub. Sub z(a) MsgBox a End Sub Sub x() Call z("ABC") End Sub Sub y() z "ABC" End Sub O procedimento sub z tem um argumento (a) e exibe o valor argumento ("ABC") numa caixa de mensagem. Rodar ou Sub x ou Sub y conduzirá ao mesmo resultado. O exemplo seguinte chama um procedimento function de um procedimento sub. Sub MostrarSoma() msgbox somaNo(3,5) End Sub
  • 10. Function somaNo(x, y) somaNo = x + y End Function O procedimento sub MostrarSoma chama a função somaNo e retorna um "8" numa caixa de mensagem. Se houverem procedimentos com nomes duplicados em diferentes módulos, você deve precisar incluir um qualificador de módulo antes do nome do procedimento quando chamar o procedimento. Por exemplo: Módulo1.MostrarSoma Passando Argumento por Referência ou por Valor Se você passar um argumento por referência quando chamar um procedimento, o procedimento acessa à variável atual na memória. Como resultado, o valor da variável pode ser mudado pelo procedimento. Passar por referência é o default no VBA. Se você não especificar explicitamente em passar um argumento por valor, o VBA o passará por referência. As duas declarações seguintes conduzem ao mesmo resultado. Sub AdicionaNo(ByRef x as integer) Sub AdicionaNo(x as integer) Aqui está um exemplo para mostrar o comportamento por referência. O procedimento sub, TestePassagem1 chama AdicionaNo1 por referência e mostra "60" (50 + 10) na caixa de mensagem. Sub TestePassagem1() Dim y As Integer y = 50 AdicionaNo1 y MsgBox y End Sub Sub AdicionaNo1(ByRef x As Integer) x = x + 10 End Sub O exemplo seguinte mostra o comportamento por valor. O procedimento sub, TestePassagem2 chama AdicionaNo2 por valor e mostra "50" na caixa de mensagem. Sub TestePassagem2() Dim y As Integer y = 50 AdicionaNo2 y MsgBox y End Sub Sub AdicionaNo2(ByVal x As Integer) x = x + 10 End Sub