OS MELHORES VÍDEOS

 

Pesquisar

quarta-feira, 28 de agosto de 2013

Cadastro de Clientes com Pesquisar usando Listbox

Neste tutorial irei mostrar como criar um Cadastro de Clientes simples e com uma forma de utilizar um listbox para realizar pesquisas em nossa planilha.




Nesses vídeos vou mostrar como criar uma rotina para inserir informações em um formulário e as informações serão inseridas na planilha, e poderão ser pesquisar através de um listbox.

Nossa proposta não foi tratar os possíveis erros que o usuário pode vir a cometer no preenchimento do formulário e sim mostrar de uma forma simples como o Excel é poderoso com a linguagem VBA.



Parte 01

Parte 02
 

Parte 03





12 comentários:

  1. Fiz conforme explicação, mas no cadastro da ´seguinte erro:
    Application.ScreenUpdating = False

    Sheets("plan1").Activate
    Range("a2").Select

    Do While IsEmpty(ActiveCell) = False
    ActiveCell.Offset(1, 0).Select

    ResponderExcluir
  2. vc abriu o loop Do While e não o fechou por isso que ele vai permanecer false.

    ResponderExcluir
  3. Teríamos como puxar lista de email como mala direta e lista de aniversariantes por exemplo?

    ResponderExcluir
  4. Teríamos como puxar lista de email como mala direta e lista de aniversariantes por exemplo?

    ResponderExcluir
  5. Este comentário foi removido pelo autor.

    ResponderExcluir
  6. Olá, gostaria de saber por que dá dois erros aqui, referente aos vídeos sobre ListBox (Cadastro de Clientes).
    Depois dos procedimentos do vídeo 2, quando vou testar o botão vem essa msg:
    "Erro em tempo de execução '1004'
    Não é possível obter a propriedade VLookup da classe WorksheetFunction"

    E, depois dos procedimentos do video 3, ao pressionar F5 para visualizar, este erro:
    "Erro em tempo de execução: '438'
    O objeto não aceita esta propriedade ou método"

    Se necessário envio as informações que programei no meu formulário para ver onde está meu erro.. grato desde já pela atenção!

    ResponderExcluir
  7. Muito bom mesmo... Valeu, me ajudou muito.

    ResponderExcluir
  8. Boa tarde! Estou usando notebook e a função Alt F11 não entra, ao realizar o comando ele mexe na iluminação. Grata.

    ResponderExcluir
    Respostas
    1. Verifique o "fn" se está ativado ou desativado. Se ligue nas cores das funções nas teclas.

      Excluir
  9. Fiz tudo certinho mas estar dando erro no seguinte comando: ActiveCell.Offset(0, k).Value = campos(k).Value



    Private Sub btn_Gravar_Click()

    Dim campos As Variant
    Dim k As Byte

    campos = Array(txt_Código, txt_sexo, txt_Nome, txt_Cpf, txt_Rg, txt_Pai, txt_Mãe, txt_Endereço, txt_Bairro, txt_Datanasc, txt_Telfixo, txt_Celular, txt_Email)

    Application.ScreenUpdating = False

    Sheets("plan1").Activate
    Range("a2").Select

    Do While IsEmpty(ActiveCell) = False
    ActiveCell.Offset(1, 0).Select
    Loop

    For k = 0 To 13
    ActiveCell.Offset(0, k).Value = campos(k).Value
    Next k

    MsgBox "Cliente '" & campos(1) & "' Cadastro com Sucesso.", vbInformation, "Confirmação de Cadastro"

    For k = 0 To 13
    campos(k).Value = Empty
    Next k

    Cells.EntireColumn.AutoFit

    txt_Código = Application.WorksheetFunction.CountA(Range("a1:a4000"))


    Application.ScreenUpdating = True



    End Sub



    Private Sub btn_Limpar_Click()

    txt_sexo = Empty
    txt_Nome = Empty
    txt_Cpf = Empty
    txt_Rg = Empty
    txt_Pai = Empty
    txt_Mãe = Empty
    txt_Endereço = Empty
    txt_Bairro = Empty
    txt_Datanasc = Empty
    txt_Telfixo = Empty
    txt_Celular = Empty
    txt_Email = Empty





    End Sub

    Private Sub Label1_Click()

    End Sub

    Private Sub btn_Pesquisar_Click()
    UserForm_Pesquisar.Show

    End Sub

    Private Sub txt_Código_AfterUpdate()

    Dim intervalo As Range
    Dim Código As Integer

    Código = txt_Código
    Set intervalo = Range("a2:d4000")

    txt_sexo = Application.WorksheetFunction.VLookup(Código, intevalo, 2, 0)
    txt_Nome = Application.WorksheetFunction.VLookup(Código, intevalo, 3, 0)
    txt_Cpf = Application.WorksheetFunction.VLookup(Código, intevalo, 4, 0)
    txt_Rg = Application.WorksheetFunction.VLookup(Código, intevalo, 5, 0)
    txt_Pai = Application.WorksheetFunction.VLookup(Código, intevalo, 6, 0)
    txt_Mãe = Application.WorksheetFunction.VLookup(Código, intevalo, 7, 0)
    txt_Endereço = Application.WorksheetFunction.VLookup(Código, intevalo, 8, 0)
    txt_Bairro = Application.WorksheetFunction.VLookup(Código, intevalo, 9, 0)
    txt_Datanasc = Application.WorksheetFunction.VLookup(Código, intevalo, 10, 0)
    txt_Telfixo = Application.WorksheetFunction.VLookup(Código, intevalo, 11, 0)
    txt_Celular = Application.WorksheetFunction.VLookup(Código, intevalo, 12, 0)
    txt_Email = Application.WorksheetFunction.VLookup(Código, intevalo, 13, 0)

    txt_Código = Application.WorksheetFunction.CountA(Range("a1:a4000"))

    End Sub

    Private Sub txt_Código_Change()

    End Sub

    Private Sub UserForm_Click()

    End Sub

    Private Sub UserForm_Initialize()

    txt_Código = Application.WorksheetFunction.CountA(Range("a1:a4000"))


    End Sub

    ResponderExcluir
  10. Não consigo visualizar a quantidade de registro quando clico em pesquisar.

    Private Sub lbl_totalregistro_Click()

    End Sub

    Private Sub UserForm_Click()

    End Sub

    Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    Dim valor_lista As Integer
    Dim selecao As Integer

    selecao = ListBox_pesquisarnome.ListIndex
    valor_lista = ListBox_pesquisarnome.List(selecao, 0)

    With UserForm_cadastro
    .txt_rm = valor_lista
    .txt_rm.SetFocus
    .txt_nome.SetFocus
    End With

    Unload Me

    End Sub

    Private Sub UserForm_Initialize()

    With Sheets("plan1").UsedRange
    ListBox_pesquisarnome.ColumnCount = 2
    ListBox_pesquisarnome.RowSource = Address
    End With

    lbl_totalregistro.Caption = "Total de Registro(s): " & ListBox_pesquisarnome.ListCount = 1

    End Sub

    onde está o erro?

    ResponderExcluir