Ir para conteúdo
Fórum Script Brasil
  • 0

AJUDA PARA PESQUISA ENTRE DATAS (PERIODO)VBA


cleitoncoelho

Pergunta

Pessoal Boa Tarde!

sou iniciante em VBA e estou com dificuldade em fazer um codigo para retornar a data dentro do periodo selecionado pelo usuario. Estou utilizando DTpicker1 DTpicker2 dentro de um form.

O codigo esta retornando o valor digitado na primeira data ... preciso fazer entre o periodo digitado na DTpicker1 e DTpicker2...

Do While Plan1.Cells(numlinha, 3) <> ""
    
    
    If Plan1.Cells(numlinha, 3) = Cbotipo.Text Then
     
        If Month(Plan1.Cells(numlinha, 1)) = Month(DTPicker1) And Year(Plan1.Cells(numlinha, 1)) = Year(DTPicker1) Then
           
' If Month(Plan1.Cells(numlinha, 1)) = Month(DTPicker2) And Year(Plan1.Cells(numlinha, 1)) = Year(DTPicker2) Then
        
             
                        Plan3.Cells(numlinha2, 1) = Plan1.Cells(numlinha, 1)
                        Plan3.Cells(numlinha2, 2) = Plan1.Cells(numlinha, 2)
                        Plan3.Cells(numlinha2, 3) = Plan1.Cells(numlinha, 3)
                        Plan3.Cells(numlinha2, 4) = Plan1.Cells(numlinha, 4)
                        Plan3.Cells(numlinha2, 5) = Plan1.Cells(numlinha, 5)
                        Plan3.Cells(numlinha2, 6) = Plan1.Cells(numlinha, 6)
                        Plan3.Cells(numlinha2, 7) = Plan1.Cells(numlinha, 7)
                        numlinha2 = numlinha2 + 1
                    'End If
              End If
        End If
    End If
    
    numlinha = numlinha + 1
Loop

Desde já agradeço pela atenção!

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
pesquise sobre a função DateDiff, ela retorna diferenças entre datas no formato que você quiser (ano, mês, dia, hora, minuto...).

Renato,

Obrigado pela dica mas o que eu preciso é de pesquisar na Plan1 na coluna 1 todos os valores que estiver dentro do periodo selecionado e acho que a função datediff não da pra fazer... Ou se você tiver algum exemplo...

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

1. Declare duas variáveis do tipo Date: uma para a Data Inicial e outra para a Data Final.

2. Atribua as respectivas datas dos DtPicker em cada variável: o DtPicker que representa a data inicial na variável de Data Inicial e o DtPicker que representa a data final da variável de Data Final.

3. Dentro da sua estrutura de repetição, você comparará as datas da seguinte forma:

Do While Plan1.Cells(numlinha, 3) <> ""    
    
If Plan1.Cells(numlinha, 3) = Cbotipo.Text Then
             
If Plan1.Cells(numlinha, 1) >= DataInicial  And Plan1.Cells(numlinha, 1) <= DataFinal Then
             
                        Plan3.Cells(numlinha2, 1) = Plan1.Cells(numlinha, 1)
                        Plan3.Cells(numlinha2, 2) = Plan1.Cells(numlinha, 2)
                        Plan3.Cells(numlinha2, 3) = Plan1.Cells(numlinha, 3)
                        Plan3.Cells(numlinha2, 4) = Plan1.Cells(numlinha, 4)
                        Plan3.Cells(numlinha2, 5) = Plan1.Cells(numlinha, 5)
                        Plan3.Cells(numlinha2, 6) = Plan1.Cells(numlinha, 6)
                        Plan3.Cells(numlinha2, 7) = Plan1.Cells(numlinha, 7)
                        numlinha2 = numlinha2 + 1
End If
        
End If

End If

numlinha = numlinha + 1

Loop

:ninja:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...