You are on page 1of 28

Excel Macros e Programao em VBA

([HPSOR
&DGDVWURGH&OLHQWHV

Pg. 1

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Preparao da Planilha
Salve a Pasta de Trabalho como Cadastro de Clientes
Mude o nome da primeira planilha para Dados Clientes
Digite os ttulos como mostra a figura:

Pg. 2

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Preparao da Planilha
Mude o nome da segunda planilha para Estados;
Digite os dados mostrados na figura a seguir

Pg. 3

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Preparao da Planilha
Mude o nome da terceira planilha para Cidades;
Digite os dados mostrados na figura a seguir

Pg. 4

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do User Form
Coloque os seguintes objetos no UserForm:

Pg. 5

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton1 e mude a
propriedade Name para Gravar e Caption para
Gravar.

Pg. 6

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton2 e mude a
propriedade Name para Pesquisar e Caption
para Pesquisar.

Pg. 7

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton3 e mude a
propriedade Name para Excluir e Caption para
Excluir.

Pg. 8

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton4 e mude a
propriedade Fechar para Gravar e Caption
para Fechar.

Pg. 9

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do UserForm

Clique no UserForm;

Na caixa de propriedades, altere as propriedades Name e Caption,


como mostra a figura:

Pg. 10

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Construo do UserForm

Clique no UserForm;

Selecione a ComboBox1, clicando sobre este objeto;

Digite as linhas de comando mostradas na figura para a propriedade


RowSource

Pg. 11

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar
'Ativar a primeira planilha
ThisWorkbook.Worksheets("Dados Clientes").Activate
'Selecionar a clula A3
Range("A3").Select
'Procurar a primeira clula vazia
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
Pg. 12

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar

'Carregar os dados digitados nas caixas de texto para a planilha


ActiveCell.Value = TextBox1.Value
ActiveCell.Offset(0, 1).Value = TextBox2.Value
ActiveCell.Offset(0, 2).Value = TextBox3.Value
ActiveCell.Offset(0, 3).Value = ComboBox1.Value
ActiveCell.Offset(0, 4).Value = ComboBox2.Value

Pg. 13

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar
'Carregar as opes de carto de crdito
If CheckBox1.Value Then
ActiveCell.Offset(0, 5).Value = "Sim"
Else
ActiveCell.Offset(0, 5).Value = "No"
End If
If CheckBox2.Value Then
ActiveCell.Offset(0, 6).Value = "Sim"
Else
ActiveCell.Offset(0, 6).Value = "No"
End If
Pg. 14

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar
If CheckBox3.Value Then
ActiveCell.Offset(0, 7).Value = "Sim"
Else
ActiveCell.Offset(0, 7).Value = "No"
End If

Pg. 15

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar
'Carregar o sexo do cliente dos botes de opo
If OptionButton1.Value = True Then
ActiveCell.Offset(0, 8).Value = "Masculino"
Else
ActiveCell.Offset(0, 8).Value = "Feminino"
End If

Pg. 16

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar
'Limpar as caixas de texto
TextBox1.Value = Empty
TextBox2.Value = Empty
TextBox3.Value = Empty
'Limpar as caixas de combinao
ComboBox1.Value = Empty
ComboBox2.Value = Empty

Pg. 17

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Gravar
'Limpar os botes CheckBox e OptionButton
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
OptionButton1.Value = False
OptionButton2.Value = False
'Colocar o foco na primeira caixa de texto
TextBox1.SetFocus

Pg. 18

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Fechar
Dados.Hide

Pg. 19

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Pesquisar
'Verificar se foi digitado um nome na primeira caixa de texto
If TextBox1.Text = "" Then
MsgBox "Digite o CPF de um cliente"
TextBox1.SetFocus
GoTo Linha1
End If

Pg. 20

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Pesquisar
With Worksheets("Dados Clientes").Range("A:A")
Set c = .Find(TextBox1.Value, LookIn:=xlValues, _
LookAt:=xlPart)
If Not c Is Nothing Then
c.Activate
TextBox1.Value = c.Value
TextBox2.Value = c.Offset(0, 1).Value
TextBox3.Value = c.Offset(0, 2).Value
ComboBox1.Value = c.Offset(0, 3).Value
ComboBox2.Value = c.Offset(0, 4).Value
Pg. 21

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Pesquisar
'Carregando os cartes de crdito
If c.Offset(0, 5) = "Sim" Then
CheckBox1.Value = True
End If
If c.Offset(0, 6) = "Sim" Then
CheckBox2.Value = True
End If
If c.Offset(0, 7) = "Sim" Then
CheckBox3.Value = True
End If
Pg. 22

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Pesquisar
'Carregando o boto de opo
If c.Offset(0, 8) = "Masculino" Then
OptionButton1.Value = True
Else
OptionButton2.Value = True
End If
Else
MsgBox "Cliente no encontrado!"
End If
End With
Linha1:
Pg. 23

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Excluir
'Declarar a varivel Resp para receber uma resposta
Dim Resp As Integer
'Fazer a busca do registro digitado pelo usurio
With Worksheets("Dados Clientes").Range("A:A")
Set c = .Find(TextBox1.Value, LookIn:=xlValues, _
LookAt:=xlWhole)
If Not c Is Nothing Then
Resp = MsgBox("Tem certeza que deseja excluir o _
registro?", vbYesNo, "Confirmao")
If Resp = vbYes Then
c.Select
Selection.EntireRow.Delete
Pg. 24

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Excluir
'Limpar as caixas de texto
TextBox1.Value = Empty
TextBox2.Value = Empty
TextBox3.Value = Empty
ComboBox1.Value = Empty
ComboBox2.Value = Empty
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
OptionButton1.Value = False
OptionButton2.Value = False
Pg. 25

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Boto Excluir
'Colocar o foco na primeira caixa de texto
TextBox1.SetFocus
Else
MsgBox "O registro no ser excludo!"
End If
Else
MsgBox "Cliente no encontrado!"
End If
End With
Exit Sub
Pg. 26

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Evento para a ComboBox1
D um duplo clique sobre a ComboBox1;
Voc ter o esqueleto mostrado a seguir;

Pg. 27

Excel Macros e Programao em VBA


Exemplo: Cadastro de Clientes
Evento para a ComboBox1
Digite as seguintes linhas de comando:
If ComboBox1.Value = "PR" Then
ComboBox2.RowSource = "Cidades!A3:A7"
ElseIf ComboBox1.Value = "SC" Then
ComboBox2.RowSource = "Cidades!B3:B7"
ElseIf ComboBox1.Value = "SP" Then
ComboBox2.RowSource = "Cidades!C3:C7"
End If

Pg. 28

You might also like