Notifications
Clear all

Pesquisar mês e ano.

3 Posts
2 Usuários
0 Reactions
1,035 Visualizações
(@jozelia)
Posts: 0
New Member
Topic starter
 

Aqui estou eu novamente!! Rrsrs
Boa Tarde Colegas,
Queria fazer uma pesquisa entre datas um pouco mais pratica, escolhendo o mês e ano em uma lit suspensa, sem precisar preencher data final e inicial que é o mais comum.

Ex: Quero buscar tudo que foi lançado no mês de Maio de 2016. Então vou pesquisar apenas 05/2016
**
ao invés de abrir o calendário pop up escolher a data inicial ir mudando os meses até chegar o ano de 2016...ficando: Data inicial: 01/05/2016 á 31/05/2016

Obs: Os dados da pesquisa sera colocado dentro da listViwer

Abraços!

 
Postado : 12/05/2017 11:27 am
(@skulden)
Posts: 0
New Member
 

Boa tarde,

Seria necessário a planilha para sabermos como estruturar o código de forma que atenda a estrutura dela.

Abraços.

 
Postado : 12/05/2017 12:06 pm
(@jozelia)
Posts: 0
New Member
Topic starter
 

Boa Noite,
Obrigada por tentar ajudar mas não pude postar a planilha devido ser do meu trabalho.
Estou compartilhando a solução que encontrei:
Coloquei o código no ComboBox:

 Dim Abas  As Worksheet
    Dim linha As Integer
    Dim xPesq As String
    Dim xCel  As String
    Dim Regs  As Integer
    Dim xRegs As Integer
    Dim xPlan As String
    Dim xEntrada As Currency
    Dim xSaida As Currency
    Dim Lv
    Dim xdespesas As String
    
    xdespesas = "Despesas"
    
    Planilha1.Activate
    xPlan = Planilha1.Name
    xRegs = Range("A" & Rows.Count).End(xlUp).Row
    
    xPesq = ComboBox1.Text
    linha = 2
    
        
    Set Abas = ThisWorkbook.Worksheets(xPlan)
    With Abas
    
        Me.ListView1.ListItems.Clear
        While .Cells(linha, 1) <> Empty
       
            
            For Coluna = 5 To 5 'faz a pesquisa na coluna 5
            xCel = .Cells(linha, Coluna)
            
            If InStr(1, UCase(xCel), UCase(xPesq), 1) Then
                                   
                Set Lv = ListView1.ListItems.Add(Text:=Planilha1.Cells(linha, 1)) 'Código
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 2) ' Natureza
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 3) ' Empresa
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 4) ' Descrição
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 5) ' Data
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 6) ' Parcela
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 7) ' Entrada
                     Lv.ListSubItems.Add Text:=Format(Planilha1.Cells(linha, 8), "Currency") ' Saida
                     Lv.ListSubItems.Add Text:=Planilha1.Cells(linha, 9) ' Forma
                     
             
     
     '---------> 3. Coloca a cor conforme status
For x = 1 To ListView1.ListItems.Count

If ListView1.ListItems.Item(x).ListSubItems(1).Text = "Saída" Then
    ListView1.ListItems.Item(x).ListSubItems(1).ForeColor = RGB(255, 102, 51) 'vermelhho
ElseIf ListView1.ListItems.Item(x).ListSubItems(1).Text = "A VENCER" Then
    ListView1.ListItems.Item(x).ListSubItems(1).ForeColor = RGB(0, 102, 255) 'azul
ElseIf ListView1.ListItems.Item(x).ListSubItems(1).Text = "Entrada" Then
   ListView1.ListItems.Item(x).ListSubItems(1).ForeColor = RGB(0, 102, 255) 'azul
End If

Next x
   
    
   GoTo proxima_linha
                     
               
            End If
            
            Next Coluna
            
proxima_linha:
            
          linha = linha + 1
             
          Wend
          
        End With

E para preencher o ComboBox com os meses e anos usei:

 Me.ComboBox1.Clear
        Dim OCOLLECTION As New Collection
    Dim VARVALUE As Variant
    Dim i, ULTLINHA As Long
    ULTLINHA = Planilha1.Range("J65536").End(xlUp).Row
    On Error Resume Next
    For Each VARVALUE In Planilha1.Range("J2:J" & ULTLINHA) 'Le os valores a partir da Linha2
        'Convertemos a VARVALUE em Numero usando
        'a Funções de conversão de tipos CStr
        OCOLLECTION.Add CStr(VARVALUE), CStr(VARVALUE)
    Next
    For i = 1 To OCOLLECTION.Count
            ComboBox1.AddItem Format(OCOLLECTION.Item(i), "MM/YYYY")
        Next

Abraços!!

 
Postado : 16/05/2017 8:26 pm