Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Pesquisa VBA Excel
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Qua Set 19, 2018 7:04 pm
Pesquisa VBA Excel
Boa tarde.
Criei um formulario no qual quando desejo fazer uma alteração nos dados, abre-se outro formulario.
Quando digito o nome, a listbox é preenchida, porém qualquer letra que digito todos os registro vão para caixa de listagem. Estou tentando a medida que vou digitando na textbox o(s) registro(s) apareçam na caixa de listagem. A ideia é que ele procure em qualquer parte do texto o nome que digitar.
Exemplo. Se digitar san (todos os registros que em alguma parte do cadastro tiver eles apareçam na listbox)
E depois que selecionar clico no que desejo alterar e em outro formulario faça a alteração.
Criei um formulario no qual quando desejo fazer uma alteração nos dados, abre-se outro formulario.
Quando digito o nome, a listbox é preenchida, porém qualquer letra que digito todos os registro vão para caixa de listagem. Estou tentando a medida que vou digitando na textbox o(s) registro(s) apareçam na caixa de listagem. A ideia é que ele procure em qualquer parte do texto o nome que digitar.
Exemplo. Se digitar san (todos os registros que em alguma parte do cadastro tiver eles apareçam na listbox)
E depois que selecionar clico no que desejo alterar e em outro formulario faça a alteração.
- Anexos
-
- Sistema de Gerenciamento1.rar
- Sistema de Gerenciamento
- (38.47 KiB) Baixado 270 vezes
Re: Pesquisa VBA Excel
Olá, substitua a sua rotina preenche_lista() por esta que eu fiz algumas modificações.
Coloquei comentários nas linhas que modifiquei, para ficar mais claro as modificações.
Coloquei comentários nas linhas que modifiquei, para ficar mais claro as modificações.
Código: Selecionar todos
Private Sub preenche_lista()
Dim ws As Worksheet
Dim i As Integer
Dim TextoCelula As String
Set ws = ThisWorkbook.Worksheets("fornecedor")
Me.Lista_Fornecedores.Clear
Me.Lista_Fornecedores.ColumnCount = 12
Me.Lista_Fornecedores.ColumnWidths = "30;150;70;70;70;70;70;70;70;70;70"
If Trim(TextoDigitado) = Empty Then Exit Sub '#### Marcus www.excelflex.com.br: Se não tiver nada digitado então finaliza o procedimento
With ws
Dim cell As Variant '#### Marcus www.excelflex.com.br: Variável que vai percorrer todas as células da sua tabela
Dim linAdd As Long '#### Marcus www.excelflex.com.br: Variável para evitar duplicidade de linhas no resultado, caso seja encontrada mais de uma correspondência na mesma linha
For Each cell In Range("A2:L" & Range("A1").End(xlDown).Row) '#### Marcus www.excelflex.com.br: Estrutura de repetição for each para ler todas as células da range
TextoCelula = cell.Value '#### Marcus www.excelflex.com.br: atribui o valor da célula em TextoCelula
If InStr(1, UCase(TextoCelula), UCase(TextoDigitado)) > 0 And linAdd <> cell.Row Then '#### Marcus www.excelflex.com.br: verifica se existe alguma ocorrência da célula no texto digitado
Me.Lista_Fornecedores.AddItem ws.Range("A" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 1) = ws.Range("B" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 2) = ws.Range("C" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 3) = ws.Range("D" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 4) = ws.Range("E" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 5) = ws.Range("F" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 6) = ws.Range("G" & cell.Row)
Me.Lista_Fornecedores.List(Me.Lista_Fornecedores.ListCount - 1, 7) = ws.Range("H" & cell.Row)
linAdd = cell.Row '#### Marcus www.excelflex.com.br: armazena o número da linha que houve a correspondência para não repetir na próxima verificação
End If
Next cell
End With
End Sub
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Qua Set 19, 2018 7:04 pm
Re: Pesquisa VBA Excel
A principio está funcionando perfeitamente, porém que não está dando certo é que ao selecionar o registro ele não preenche textbox do formulario fornecedor
Re: Pesquisa VBA Excel
Dá uma olhada agora...
- Anexos
-
- Sistema de Gerenciamento v1.zip
- (32.43 KiB) Baixado 276 vezes
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Qua Set 19, 2018 7:04 pm
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Qua Set 19, 2018 7:04 pm
Re: Pesquisa VBA Excel
Alterei a criação do código para que gere somente números, ao pesquisar na caixa de listagem , digito e funciona perfeitamente, porém quando clico no registro, o mesmo não preenche a textbox.
Tentei alterar informação na caixa de listagem e não funcionou
Tentei alterar informação na caixa de listagem e não funcionou
- Anexos
-
- Sistema de Gerenciamento v2.rar
- Sistema de Gerenciamento
- (127.99 KiB) Baixado 271 vezes