- 11 Abr 2018 às 07:42
#31931
Bom dia
Tenho como rotina do "frm_consulta" uma pesquisa multicritério na sheets("Dados"), que deverá ser feita com uns de seus txtbox preenchidos (txt_empresa, txt_periodo a txt_periodo1, txt_mva a txt_mva1); a pesquisa feita na sheets ("dados") deve ser levada para a sheets("Estoque") de onde alimentará o listbox1... toda essa rotina está associada ao evento click do btn_pesquisar do frm_consulta.
Porém, só está sendo transportado os 3 primeiros dados que eram dados já existentes antes de realizar a compilação do código; preciso que sempre que fosse feito a inserção de novos dados na sheets("Dados") e o btn_pesquisar do frm_consulta fosse ativada essa pesquisa, realizada com os novos dados cadastrados anteriormente.
babdallas no fórum: viewtopic.php?f=12&t=6618&p=31805#p31805 anteriormente ajudou a implementar está rotina de pesquisa, porém, quando baixei a implementação que fizeste em meu código, o teste que fiz, o fiz com os cadastros que já haviam (os três primeiros), todavia conforme vou alimentando a sheets("dados") com o "frm_estoque" o filtro não é mais realizado para todos os itens, isto é, está funcionando apenas para os registros que já haviam.
Alguém puder contribuir! pois não consegui fazer nada que corrigisse ó cód. para rodar após a inserção de novos dados.
Em anexo planilha
Muito obrigado!
Tenho como rotina do "frm_consulta" uma pesquisa multicritério na sheets("Dados"), que deverá ser feita com uns de seus txtbox preenchidos (txt_empresa, txt_periodo a txt_periodo1, txt_mva a txt_mva1); a pesquisa feita na sheets ("dados") deve ser levada para a sheets("Estoque") de onde alimentará o listbox1... toda essa rotina está associada ao evento click do btn_pesquisar do frm_consulta.
Porém, só está sendo transportado os 3 primeiros dados que eram dados já existentes antes de realizar a compilação do código; preciso que sempre que fosse feito a inserção de novos dados na sheets("Dados") e o btn_pesquisar do frm_consulta fosse ativada essa pesquisa, realizada com os novos dados cadastrados anteriormente.
babdallas no fórum: viewtopic.php?f=12&t=6618&p=31805#p31805 anteriormente ajudou a implementar está rotina de pesquisa, porém, quando baixei a implementação que fizeste em meu código, o teste que fiz, o fiz com os cadastros que já haviam (os três primeiros), todavia conforme vou alimentando a sheets("dados") com o "frm_estoque" o filtro não é mais realizado para todos os itens, isto é, está funcionando apenas para os registros que já haviam.

Alguém puder contribuir! pois não consegui fazer nada que corrigisse ó cód. para rodar após a inserção de novos dados.
Código: Selecionar todos
Private Sub btn_pesquisar_Click()
Dim lindados As Integer
Dim linestoque As Integer
Dim lngUltLin As Long
Dim vrtMvaInf As Variant, vrtMvaSup As Variant, vrtPerInf As Variant, vrtPerSup As Variant
Application.ScreenUpdating = False
On Error GoTo Erro
lindados = 2
linestoque = 2
With wshEstoque
lngUltLin = .Cells(.Rows.Count, 1).End(xlUp).Row
If lngUltLin >= linestoque Then .Range(.Cells(linestoque, 1), .Cells(lngUltLin, 11)).ClearContents
End With
vrtPerInf = CDate(IIf(txt_periodo.Value = "", 0, txt_periodo.Value))
vrtPerSup = CDate(IIf(txt_periodo1.Value = "", 1000000, txt_periodo1.Value))
vrtMvaInf = IIf(txt_mva.Value = "", -1E+20, txt_mva.Value) / 100
vrtMvaSup = IIf(txt_mva1.Value = "", 1E+20, txt_mva1.Value) / 100
With wshDados
Do Until .Cells(lindados, 2).Value2 = ""
If UCase(.Cells(lindados, 3).Value2) Like "*" & UCase(txt_empresa.Value) & "*" And _
.Cells(lindados, 2).Value2 >= vrtPerInf And _
.Cells(lindados, 2).Value2 <= vrtPerSup And _
.Cells(lindados, 8).Value2 >= CDbl(vrtMvaInf) And _
.Cells(lindados, 8).Value2 <= CDbl(vrtMvaSup) Then
For intCol = 1 To 11
wshEstoque.Cells(linestoque, intCol) = .Cells(lindados, intCol)
Next intCol
linestoque = linestoque + 1
End If
lindados = lindados + 1
Loop
wshEstoque.Activate
End With
Call carregarlistbox
Application.ScreenUpdating = True
Erro:
Application.ScreenUpdating = True
End
Em anexo planilha
Muito obrigado!
Você não está autorizado a ver ou baixar esse anexo.
Erros valem mais que acertos quando é um acerto no final 
