sábado, 3 de agosto de 2013

Pesquisar valores e retornar dados correspondentes em formulários VBA

Série de 4 Vídeo-Aulas mostrando como manipular dados no Excel com ajuda de formulários e programação em VBA. Nessas vídeo aulas mostro como fazer pesquisas dinâmicas com retorno de dados para as caixas de texto. 

Vídeo Aula 08 - Parte 1 - Pesquisar valores e retornar dados correspondentes em formulários VBA excel
Essa vídeo aula mostra como fazer uma pesquisa com base em um valor digitado dentro de uma caixa de texto (textbox) e retornar os dados correspondentes a esse valor. Útil para consulta de valores com baseados em códigos, por exemplo produtos, clientes, cidades


Vídeo Aula 08 - Parte 2 - Pesquisar valores, carregar e atualizar dados em formulários
Essa vídeo aula complementa a vídeo aula 08 e mostra como fazer a atualização das informações em um formulário VBA no excel, fazendo com que as informações cadastradas nele sejam atualizadas na planilha...

'Código da aula

Private Sub CommandButton1_Click()

Dim codigo As Integer
Dim quantidade As Double
Dim valor As Currency

linha = 2
codigo = txt_codigo
quantidade = txt_quantidade
valor = txt_valor_unitario

Sheets("estoque").Select
Do Until Sheets("estoque").Cells(linha, 1) = ""
    'condicção para localizar o código
    If Sheets("estoque").Cells(linha, 1) = codigo Then
       'seleciona célula com o código
       Sheets("estoque").Cells(linha, 1).Select
       
               ActiveCell.Offset(0, 1).Select
               ActiveCell = txt_produto
                                          
               ActiveCell.Offset(0, 1).Select
               ActiveCell = txt_unidade
               
               ActiveCell.Offset(0, 1).Select
               ActiveCell = quantidade
                              
               ActiveCell.Offset(0, 1).Select
               ActiveCell = valor
                              
               
               ActiveCell.Offset(0, 1).Select
               ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
               
               MsgBox ("Dados alteradados com sucesso!")
               
       End If
   
linha = linha + 1
Loop

Call txt_codigo_AfterUpdate

End Sub


Vídeo Aula 08 - Parte 3 - Pesquisar valores, criar botão para pesquisa de valores retorno de dados
Essa vídeo aula complementa a vídeo aula 08 parte 01 e  02... e  mostra como fazer a atualização das informações em um formulário VBA no excel, fazendo com que as informações cadastradas nele sejam atualizadas na planilha... com botão para busca de dados num formulário com listbox

'código para ser inserido no form que será usado para buscar os valores...
'lembrar que os objetos devem ter os mesmos nomes para o código funcionar
' listbox1 / userform4 / userform1 - altere conforme seu projeto...

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Dim valor_lista As Integer
Dim selecao As Integer

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

UserForm1.txt_codigo = valor_lista
UserForm1.txt_codigo.SetFocus
UserForm1.txt_produto.SetFocus

Unload Me


End Sub

Private Sub UserForm_Initialize()

'carrega intens na listbox1 com 2 colunas

linha = 2
linhalistbox = 0
conta_registros = 0

Do Until Sheets("estoque").Cells(linha, 1) = ""
    
     With UserForm4.ListBox1
            .AddItem
            .List(linhalistbox, 0) = Sheets("estoque").Cells(linha, 1)
            .List(linhalistbox, 1) = Sheets("estoque").Cells(linha, 2)
            linhalistbox = linhalistbox + 1
     End With
     
linha = linha + 1
conta_registros = conta_registros + 1

Loop

lbl_registros = conta_registros

End Sub

Vídeo Aula 08 - Parte 4 - Filtro dinâmico de valores em listbox em tempo real VBA excel

Nessa vídeo aula mostro como montar o código para criar uma busca dinâmica dentro de um formulário no excel com VBA. O código faz um filtro em tempo real com os caracteres digitados dentro da caixa de texto retornando dentro da listbox os valores que correspondem a pesquisa..

link para Download da planilha:
http://www.4shared.com/file/_65eLVbe/buscar_valores_1.html

Nenhum comentário:

Postar um comentário