Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
UserForm Filtrar vários valores
-
- Colaborador
- Mensagens: 25
- Registrado em: Seg Jun 03, 2019 11:22 am
UserForm Filtrar vários valores
Bom dia!
Na planilha em Anexo, gostaria de usar o UserForm para filtrar os valores entre duas Datas e também os valores de outro elemento. Consegui fazer filtrar entre as datas mas não consigo para o outro elemento, que no caso é "fornecedor". Também preciso que na impressão o rodapé esquerdo contenha: "Filtro: " , Data da célula H1, " Até ", Data da célula I1.
Na planilha em Anexo, gostaria de usar o UserForm para filtrar os valores entre duas Datas e também os valores de outro elemento. Consegui fazer filtrar entre as datas mas não consigo para o outro elemento, que no caso é "fornecedor". Também preciso que na impressão o rodapé esquerdo contenha: "Filtro: " , Data da célula H1, " Até ", Data da célula I1.
- Anexos
-
- teste Filtro.rar
- (30.92 KiB) Baixado 335 vezes
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: UserForm Filtrar vários valores
Para esse "elemento" inclui na abertura do formulario, especificamente o carregamento de duas empresas..para o outro elemento..
a saber:
Código: Selecionar todos
Private Sub UserForm_Initialize()
Me.ComboBox1.AddItem "empresa1"
Me.ComboBox1.AddItem "empresa2"
End Sub
Código: Selecionar todos
Private Sub CommandButton1_Click()
Dim data_ini As Date
Dim data_fin As Date
data_ini = Format(TextBox1, "mm/dd/yyyy")
data_fin = Format(TextBox2, "mm/dd/yyyy")
ActiveSheet.Range("A4:D5000").AutoFilter Field:=1, Criteria1:= _
">=" & data_ini, Operator:=xlAnd, Criteria2:="<=" & data_fin
ActiveSheet.Range("A4:D5000").AutoFilter Field:=3, Criteria1:=Me.ComboBox1.Value
TextBox4 = Range("G1").Value
Range("H1").Value = Format(data_ini, "dd/mm/yyyy")
Range("I1").Value = Format(data_fin, "dd/mm/yyyy")
End Sub
Código: Selecionar todos
Public Sub ConfigurarImpressao()
Dim UltimaLinha As Long
UltimaLinha = Cells(Rows.Count, "C").End(xlUp).Row
ActiveSheet.PageSetup.LeftFooter = "Filtro: da data " & [H1] & " até data " & [I1]
ActiveSheet.PageSetup.PrintArea = Range("$A$3:$D$" & UltimaLinha).Address
End Sub
-
- Colaborador
- Mensagens: 25
- Registrado em: Seg Jun 03, 2019 11:22 am
Re: UserForm Filtrar vários valores
Boa Tarde Reinaldo!
Funcionou, mas só tem um detalhe, quando o ComboBox1 que tem o valor referente a "Fornecedor" estiver vaziu, ou seja, não tem fornecedor selecionado, quero filtrar somente pelas datas, mas para puxar todos os fornecedores referentes a estas datas. Se deixo sem preencher o ComboBox1 queria que filtrasse somente as datas, mas esta deixando a tabela em branco...
Funcionou, mas só tem um detalhe, quando o ComboBox1 que tem o valor referente a "Fornecedor" estiver vaziu, ou seja, não tem fornecedor selecionado, quero filtrar somente pelas datas, mas para puxar todos os fornecedores referentes a estas datas. Se deixo sem preencher o ComboBox1 queria que filtrasse somente as datas, mas esta deixando a tabela em branco...
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: UserForm Filtrar vários valores
Experimente
Código: Selecionar todos
Private Sub CommandButton1_Click()
Dim data_ini As Date
Dim data_fin As Date
Dim Fornec As String
data_ini = Format(TextBox1, "mm/dd/yyyy")
data_fin = Format(TextBox2, "mm/dd/yyyy")
If ComboBox1.Value = "" Then
Fornec = "*"
Else
Fornec = ComboBox1.Value
End If
ActiveSheet.Range("A4:D5000").AutoFilter Field:=1, Criteria1:= _
">=" & data_ini, Operator:=xlAnd, Criteria2:="<=" & data_fin
ActiveSheet.Range("A4:D5000").AutoFilter Field:=3, Criteria1:=Fornec
TextBox4 = Range("G1").Value
Range("H1").Value = Format(data_ini, "dd/mm/yyyy")
Range("I1").Value = Format(data_fin, "dd/mm/yyyy")
End Sub
-
- Colaborador
- Mensagens: 25
- Registrado em: Seg Jun 03, 2019 11:22 am
-
- Colaborador
- Mensagens: 25
- Registrado em: Seg Jun 03, 2019 11:22 am
Re: UserForm Filtrar vários valores
Desculpe Reinaldo te incomodar, mas tem mais um probleminha.
Na lista de datas que tem ali na planilha, se eu coloco de 01/02/2019 até 30/04/2019, puxa vaziu o filtro ao invés de puxar as datas de 1/02/2019 até 01/04/2019(que é a ultima antes de 30/04/2019)...
Na lista de datas que tem ali na planilha, se eu coloco de 01/02/2019 até 30/04/2019, puxa vaziu o filtro ao invés de puxar as datas de 1/02/2019 até 01/04/2019(que é a ultima antes de 30/04/2019)...
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: UserForm Filtrar vários valores
Altere a definição de dataini e datafin para string
Código: Selecionar todos
Private Sub CommandButton1_Click()
Dim data_ini As String
Dim data_fin As String
Dim Fornec As String
data_ini = Format(TextBox1.Value, "mm/dd/yyyy")
data_fin = Format(TextBox2.Value, "mm/dd/yyyy")
If ComboBox1.Value = "" Then
Fornec = "*"
Else
Fornec = ComboBox1.Value
End If
ActiveSheet.Range("A4:D5000").AutoFilter Field:=1, Criteria1:= _
">=" & data_ini, Operator:=xlAnd, Criteria2:="<=" & data_fin
ActiveSheet.Range("A4:D5000").AutoFilter Field:=3, Criteria1:=Fornec
TextBox4 = Range("G1").Value
Range("H1").Value = Format(data_ini, "dd/mm/yyyy")
Range("I1").Value = Format(data_fin, "dd/mm/yyyy")
End Sub
-
- Colaborador
- Mensagens: 25
- Registrado em: Seg Jun 03, 2019 11:22 am
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Ter Jul 16, 2019 10:22 am
Re: UserForm Filtrar vários valores
Olá galerinha!
Estou montando uma planilha de excel com vários filtros, porém apenas o filtro de data acusa erro.
Mensagem de erro: " Erro em tempo de execução 1004 ; Método AutoFilter da classe Range Falhou"
Em seguida clico em DEPURAR e aparece o erro(curiosamente só no da data)
Caso seja preciso acessar a planilha armazenei na nuvem no link http://www.filedropper.com/programa5e12 ... rsion1xlsb
O filtro é na aba RELATÓRIO DE AULAS
Desde já agradeço a ajuda
Estou montando uma planilha de excel com vários filtros, porém apenas o filtro de data acusa erro.
Mensagem de erro: " Erro em tempo de execução 1004 ; Método AutoFilter da classe Range Falhou"
Em seguida clico em DEPURAR e aparece o erro(curiosamente só no da data)
Caso seja preciso acessar a planilha armazenei na nuvem no link http://www.filedropper.com/programa5e12 ... rsion1xlsb
O filtro é na aba RELATÓRIO DE AULAS
Desde já agradeço a ajuda
-
- Colaborador
- Mensagens: 25
- Registrado em: Seg Jun 03, 2019 11:22 am
Re: UserForm Filtrar vários valores
Bosa Tarde!
Eu preciso usar uma variavel com numero ao inves desta "Fornecedor", numero de pedido, exemplo: 1.
Como posso fazer para filtrar?
Eu preciso usar uma variavel com numero ao inves desta "Fornecedor", numero de pedido, exemplo: 1.
Como posso fazer para filtrar?