Notifications
Clear all

Duvida em VBA - Cadastro de Cliente Ordenado

4 Posts
2 Usuários
0 Reactions
1,144 Visualizações
(@wolfelipe)
Posts: 2
New Member
Topic starter
 

Bom Dia,

Estou com uma duvida com relação ao VBA na em uma planilha de controle.

Fiz uma planilha de cadastro na qual cada cliente que eu coloca na planilha uma nova linha é preenchiada.
Porem precisa que fossem colocados em certa ordem.

EX:

Empresa Cliente Regional
AUDAZ José Bonifacil SP
MERCURIAL André Manderio RJ
AUDAZ Silvia Matos SP
RELOVEM Carlos Siqueira MG
AUDAZ Merilin Souza RJ
MERCURIAL Virginia Silva SP
RELOVEM Acácia Laranjeira MG

Nesse exemplo eu precisava que o cadastro fosse incluido pela ordem da Empresa, depois Regional e Cliente.

Segue abaixo o código VBA que estou utilizando:

Private Sub cmdGravar_Click()

'Ativar a primeira planilha
ThisWorkbook.Worksheets("Dados Clientes").Activate
'Selecionar a célula A3
Range("A3").Select

'Procurar a primeira célula vazia
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True

'Carregar os dados digitados nas caixas de texto para a planilha
ActiveCell.Value = txtCPF.Value
ActiveCell.Offset(0, 1).Value = txtNome.Value
ActiveCell.Offset(0, 2).Value = txtEndereco.Value
ActiveCell.Offset(0, 3).Value = cboEstado.Value
ActiveCell.Offset(0, 4).Value = cboCidade.Value

ActiveCell.Offset(0, 5).Value = txtTelefone.Value
ActiveCell.Offset(0, 6).Value = txtEmail.Value
ActiveCell.Offset(0, 7).Value = txtNascimento.Value

'Carregar o sexo do cliente dos botões de opção
If OptionButton1.Value = True Then
ActiveCell.Offset(0, 8).Value = "Masculino"
Else
ActiveCell.Offset(0, 8).Value = "Feminino"
End If

'Limpar as caixas de texto
txtCPF.Value = Empty
txtNome.Value = Empty
txtEndereco.Value = Empty
'Limpar as caixas de combinação
cboEstado.Value = Empty
cboCidade.Value = Empty
txtTelefone.Value = Empty
txtEmail.Value = Empty
txtNascimento.Value = Empty

'Limpar os botões CheckBox e OptionButton
OptionButton1.Value = False
OptionButton2.Value = False
'Colocar o foco na primeira caixa de texto
txtCPF.SetFocus

End Sub

Desde ja agradeço pela ajuda

 
Postado : 29/05/2013 6:27 am
(@vitor)
Posts: 57
Trusted Member
 

Não entendi muito bem, você quer ordenar por ordem alfabética, certo? Utilize o Classificar (se quiser o código grave uma macro e copie :])

 
Postado : 29/05/2013 6:48 am
(@wolfelipe)
Posts: 2
New Member
Topic starter
 

Vitor,

Eu preciso que quando eu incluir um novo cliente pelo formulario em VBA, que ele entre não como a ultima linha e sim dentro de uma certa ordem. Entendeu?

 
Postado : 29/05/2013 7:56 am
(@vitor)
Posts: 57
Trusted Member
 

Pegue o código do Filtro e execute-o sempre que adicionar um novo usuário (ao final docódigo que adiciona).

 
Postado : 29/05/2013 10:08 am