Upload
nereusalvaro
View
49
Download
0
Tags:
Embed Size (px)
Citation preview
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 1
Excel – Macros e Programação em VBA
Pág. 1
Campus Curitiba
Departamento Acadêmico de Matemática
Angela Olandoski Barboza
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 2
Excel – Macros e Programação em VBA
Pág. 2Apostila - 131
Exemplo: Cadastro de ClientesPreparação da Planilha
• Salve a Pasta de Trabalho como Cadastro de Clientes.xls
• Mude o nome da primeira planilha para Dados Clientes
• Digite os títulos como mostra a figura:
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 3
Excel – Macros e Programação em VBA
Pág. 3Apostila - 131
Exemplo: Cadastro de ClientesPreparação da Planilha
• Mude o nome da segunda planilha para Estados;
• Digite os dados mostrados na figura a seguir
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 4
Excel – Macros e Programação em VBA
Pág. 4Apostila - 131
Exemplo: Cadastro de ClientesPreparação da Planilha
• Mude o nome da terceira planilha para Cidades;
• Digite os dados mostrados na figura a seguir
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 5
Excel – Macros e Programação em VBA
Pág. 5Apostila - 131
Exemplo: Cadastro de ClientesConstrução do User Form
Coloque os seguintes objetos no UserForm:
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 6
Excel – Macros e Programação em VBA
Pág. 6Apostila - 131
Exemplo: Cadastro de ClientesConstrução do User Form
Clique uma vez no CommandButton1 e mude a propriedade Name para Gravar e Caption para Gravar.
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 7
Excel – Macros e Programação em VBA
Pág. 7Apostila - 131
Exemplo: Cadastro de ClientesConstrução do User Form
Clique uma vez no CommandButton2 e mude a propriedade Name para Pesquisar e Captionpara Pesquisar.
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 8
Excel – Macros e Programação em VBA
Pág. 8Apostila - 131
Exemplo: Cadastro de ClientesConstrução do User Form
Clique uma vez no CommandButton3 e mude a propriedade Name para Excluir e Caption para Excluir.
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 9
Excel – Macros e Programação em VBA
Pág. 9Apostila - 131
Exemplo: Cadastro de ClientesConstrução do User Form
Clique uma vez no CommandButton4 e mude a propriedade Fechar para Gravar e Captionpara Fechar.
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 10
Excel – Macros e Programação em VBA
Pág. 10Apostila - 131
Exemplo: Cadastro de ClientesConstrução do UserForm
• Clique no UserForm;
• Na caixa de propriedades, altere as propriedades Name e Caption, como mostra a figura:
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 11
Excel – Macros e Programação em VBA
Pág. 11Apostila - 131
Exemplo: Cadastro de ClientesConstrução 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 Programação em VBA
3 de junho de 2009 Pág. 12
Excel – Macros e Programação em VBA
Pág. 12Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
'Ativar a primeira planilhaThisWorkbook.Worksheets("Dados Clientes").Activate'Selecionar a célula A3Range("A3").Select'Procurar a primeira célula vaziaDo
If Not (IsEmpty(ActiveCell)) ThenActiveCell.Offset(1, 0).Select
End IfLoop Until IsEmpty(ActiveCell) = True
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 13
Excel – Macros e Programação em VBA
Pág. 13Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
'Carregar os dados digitados nas caixas de texto para a planilhaActiveCell.Value = TextBox1.ValueActiveCell.Offset(0, 1).Value = TextBox2.ValueActiveCell.Offset(0, 2).Value = TextBox3.ValueActiveCell.Offset(0, 3).Value = ComboBox1.ValueActiveCell.Offset(0, 4).Value = ComboBox2.Value
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 14
Excel – Macros e Programação em VBA
Pág. 14Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
'Carregar as opções de cartão de créditoIf CheckBox1.Value Then
ActiveCell.Offset(0, 5).Value = "Sim"Else
ActiveCell.Offset(0, 5).Value = "Não"End IfIf CheckBox2.Value Then
ActiveCell.Offset(0, 6).Value = "Sim"Else
ActiveCell.Offset(0, 6).Value = "Não"End If
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 15
Excel – Macros e Programação em VBA
Pág. 15Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
If CheckBox3.Value ThenActiveCell.Offset(0, 7).Value = "Sim"
ElseActiveCell.Offset(0, 7).Value = "Não"
End If
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 16
Excel – Macros e Programação em VBA
Pág. 16Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
'Carregar o sexo do cliente dos botões de opçãoIf OptionButton1.Value = True Then
ActiveCell.Offset(0, 8).Value = "Masculino"Else
ActiveCell.Offset(0, 8).Value = "Feminino"End If
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 17
Excel – Macros e Programação em VBA
Pág. 17Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
'Limpar as caixas de textoTextBox1.Value = EmptyTextBox2.Value = EmptyTextBox3.Value = Empty'Limpar as caixas de combinaçãoComboBox1.Value = EmptyComboBox2.Value = Empty
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 18
Excel – Macros e Programação em VBA
Pág. 18Apostila - 131
Exemplo: Cadastro de Clientes• Botão Gravar
'Limpar os botões CheckBox e OptionButtonCheckBox1.Value = FalseCheckBox2.Value = FalseCheckBox3.Value = FalseOptionButton1.Value = FalseOptionButton2.Value = False
'Colocar o foco na primeira caixa de textoTextBox1.SetFocus
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 19
Excel – Macros e Programação em VBA
Pág. 19Apostila - 131
Exemplo: Cadastro de Clientes• Botão Fechar
Dados.Hide
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 20
Excel – Macros e Programação em VBA
Pág. 20Apostila - 131
Exemplo: Cadastro de Clientes• Botão Pesquisar
'Verificar se foi digitado um nome na primeira caixa de textoIf TextBox1.Text = "" Then
MsgBox "Digite o CPF de um cliente"TextBox1.SetFocusGoTo Linha1
End If
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 21
Excel – Macros e Programação em VBA
Pág. 21Apostila - 131
Exemplo: Cadastro de Clientes• Botão Pesquisar
With Worksheets("Dados Clientes").Range("A:A")Set c = .Find(TextBox1.Value, LookIn:=xlValues, _
LookAt:=xlPart)If Not c Is Nothing Then
c.ActivateTextBox1.Value = c.ValueTextBox2.Value = c.Offset(0, 1).ValueTextBox3.Value = c.Offset(0, 2).ValueComboBox1.Value = c.Offset(0, 3).ValueComboBox2.Value = c.Offset(0, 4).Value
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 22
Excel – Macros e Programação em VBA
Pág. 22Apostila - 131
Exemplo: Cadastro de Clientes• Botão Pesquisar
'Carregando os cartões de créditoIf c.Offset(0, 5) = "Sim" Then
CheckBox1.Value = TrueEnd IfIf c.Offset(0, 6) = "Sim" Then
CheckBox2.Value = TrueEnd IfIf c.Offset(0, 7) = "Sim" Then
CheckBox3.Value = TrueEnd If
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 23
Excel – Macros e Programação em VBA
Pág. 23Apostila - 131
Exemplo: Cadastro de Clientes• Botão Pesquisar
'Carregando o botão de opçãoIf c.Offset(0, 8) = "Masculino" Then
OptionButton1.Value = TrueElse
OptionButton2.Value = TrueEnd If
ElseMsgBox "Cliente não encontrado!"
End IfEnd WithLinha1:
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 24
Excel – Macros e Programação em VBA
Pág. 24Apostila - 131
Exemplo: Cadastro de Clientes• Botão Excluir
'Declarar a variável Resp para receber uma respostaDim Resp As Integer'Fazer a busca do registro digitado pelo usuário
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, "Confirmação")If Resp = vbYes Then
c.SelectSelection.EntireRow.Delete
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 25
Excel – Macros e Programação em VBA
Pág. 25Apostila - 131
Exemplo: Cadastro de Clientes• Botão Excluir'Limpar as caixas de texto
TextBox1.Value = EmptyTextBox2.Value = EmptyTextBox3.Value = EmptyComboBox1.Value = EmptyComboBox2.Value = EmptyCheckBox1.Value = FalseCheckBox2.Value = FalseCheckBox3.Value = FalseOptionButton1.Value = FalseOptionButton2.Value = False
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 26
Excel – Macros e Programação em VBA
Pág. 26Apostila - 131
Exemplo: Cadastro de Clientes• Botão Excluir
'Colocar o foco na primeira caixa de textoTextBox1.SetFocus
ElseMsgBox "O registro não será excluído!"
End IfElse
MsgBox "Cliente não encontrado!"End If
End WithExit Sub
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 27
Excel – Macros e Programação em VBA
Pág. 27Apostila - 131
Exemplo: Cadastro de ClientesEvento para a ComboBox1
• Dê um duplo clique sobre a ComboBox1;
• Você terá o esqueleto mostrado a seguir;
UTFPR – Damat
Excel – Macros e Programação em VBA
3 de junho de 2009 Pág. 28
Excel – Macros e Programação em VBA
Pág. 28Apostila - 131
Exemplo: Cadastro de ClientesEvento para a ComboBox1
• Digite as seguintes linhas de comando:
If ComboBox1.Value = "PR" ThenComboBox2.RowSource = "Cidades!A3:A7"
ElseIf ComboBox1.Value = "SC" ThenComboBox2.RowSource = "Cidades!B3:B7"
ElseIf ComboBox1.Value = "SP" ThenComboBox2.RowSource = "Cidades!C3:C7"
End If