You are on page 1of 28

UTFPR Damat

Excel Macros e Programao em VBA


3 de junho de 2009 Pg. 1
Excel Macros e Programao em VBA
Pg. 1
Campus Curitiba
Departamento Acadmico de Matemtica
Angela Olandoski Barboza
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 2
Excel Macros e Programao em VBA
Pg. 2 Apostila - 131
Exemplo: Cadastro de Clientes
Preparao da Planilha
Salve a Pasta de Trabalho como Cadastro de Clientes.xls
Mude o nome da primeira planilha para Dados Clientes
Digite os ttulos como mostra a figura:
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 3
Excel Macros e Programao em VBA
Pg. 3 Apostila - 131
Exemplo: Cadastro de Clientes
Preparao da Planilha
Mude o nome da segunda planilha para Estados;
Digite os dados mostrados na figura a seguir
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 4
Excel Macros e Programao em VBA
Pg. 4 Apostila - 131
Exemplo: Cadastro de Clientes
Preparao da Planilha
Mude o nome da terceira planilha para Cidades;
Digite os dados mostrados na figura a seguir
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 5
Excel Macros e Programao em VBA
Pg. 5 Apostila - 131
Exemplo: Cadastro de Clientes
Construo do User Form
Coloque os seguintes objetos no UserForm:
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 6
Excel Macros e Programao em VBA
Pg. 6 Apostila - 131
Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton1 e mude a
propriedade Name para Gravar e Caption para
Gravar.
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 7
Excel Macros e Programao em VBA
Pg. 7 Apostila - 131
Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton2 e mude a
propriedade Name para Pesquisar e Caption
para Pesquisar.
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 8
Excel Macros e Programao em VBA
Pg. 8 Apostila - 131
Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton3 e mude a
propriedade Name para Excluir e Caption para
Excluir.
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 9
Excel Macros e Programao em VBA
Pg. 9 Apostila - 131
Exemplo: Cadastro de Clientes
Construo do User Form
Clique uma vez no CommandButton4 e mude a
propriedade Fechar para Gravar e Caption
para Fechar.
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 10
Excel Macros e Programao em VBA
Pg. 10 Apostila - 131
Exemplo: Cadastro de Clientes
Construo do UserForm
Clique no UserForm;
Na caixa de propriedades, altere as propriedades Name e Caption,
como mostra a figura:
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 11
Excel Macros e Programao em VBA
Pg. 11 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 12
Excel Macros e Programao em VBA
Pg. 12 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 13
Excel Macros e Programao em VBA
Pg. 13 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 14
Excel Macros e Programao em VBA
Pg. 14 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 15
Excel Macros e Programao em VBA
Pg. 15 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 16
Excel Macros e Programao em VBA
Pg. 16 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 17
Excel Macros e Programao em VBA
Pg. 17 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 18
Excel Macros e Programao em VBA
Pg. 18 Apostila - 131
Exemplo: Cadastro de Clientes
Boto Gravar
'Limpar os botes CheckBoxe 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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 19
Excel Macros e Programao em VBA
Pg. 19 Apostila - 131
Exemplo: Cadastro de Clientes
Boto Fechar
Dados.Hide
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 20
Excel Macros e Programao em VBA
Pg. 20 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 21
Excel Macros e Programao em VBA
Pg. 21 Apostila - 131
Exemplo: Cadastro de Clientes
Boto Pesquisar
WithWorksheets("Dados Clientes").Range("A:A")
Set c = .Find(TextBox1.Value, LookIn:=xlValues, _
LookAt:=xlPart)
If Not c Is NothingThen
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 22
Excel Macros e Programao em VBA
Pg. 22 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 23
Excel Macros e Programao em VBA
Pg. 23 Apostila - 131
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
EndWith
Linha1:
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 24
Excel Macros e Programao em VBA
Pg. 24 Apostila - 131
Exemplo: Cadastro de Clientes
Boto Excluir
'Declarar a varivel Resp para receber uma resposta
DimResp As Integer
'Fazer a busca do registro digitado pelo usurio
WithWorksheets("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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 25
Excel Macros e Programao em VBA
Pg. 25 Apostila - 131
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
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 26
Excel Macros e Programao em VBA
Pg. 26 Apostila - 131
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
EndWith
Exit Sub
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 27
Excel Macros e Programao em VBA
Pg. 27 Apostila - 131
Exemplo: Cadastro de Clientes
Evento para a ComboBox1
D um duplo clique sobre a ComboBox1;
Voc ter o esqueleto mostrado a seguir;
UTFPR Damat
Excel Macros e Programao em VBA
3 de junho de 2009 Pg. 28
Excel Macros e Programao em VBA
Pg. 28 Apostila - 131
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

You might also like