Notifications
Clear all

RELATÓRIO POR DATAS

5 Posts
3 Usuários
0 Reactions
1,191 Visualizações
(@gfsouza86)
Posts: 0
Trusted Member
Topic starter
 

Boa tarde Galera

Utilizei o código informado nesse tópico http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=27637

Porem ao realizar algumas alterações não consegui que o código funcionasse corretamente
Minhas planilhas estão assim
Planilha1 (MENU)
Planilha2 (bases)
Planilha3 (base_cadastro)
Planilha4 (relatorio)

Essa base_cadastro é a planilha que serão salvos os dados cadastrados (tem informações de A até Q)
A planilha relatório será a que irá receber as informações (contem informações de A até H)

Meu código ficou assim

Private Sub cmdgerar_Click()
     'recebe os dados
    Planilha4.Range("A2:H100").ClearContents
    lin = 2
    linha = 2
    
    If txtdtinicial = "" Or txtdtfinal = "" Then Exit Sub
    
    Do Until Planilha3.Cells(lin, 1) = ""
        If Planilha3.Cells(lin, 2) >= CDate(txtdtinicial) And _
                Planilha3.Cells(lin, 2) <= CDate(txtdtfinal) Then
            'onde vai aparecer e o que vai aparecer
            Planilha4.Cells(linha, 2) = Planilha3.Cells(lin, 9)
            Planilha4.Cells(linha, 4) = Planilha3.Cells(lin, 3)
            Planilha4.Cells(linha, 5) = Planilha3.Cells(lin, 1)
            Planilha4.Cells(linha, 6) = CDate(Planilha3.Cells(lin, 5))
            Planilha4.Cells(linha, 7) = Planilha3.Cells(lin, 8)
            Planilha4.Cells(linha, 8) = CDate(Planilha3.Cells(lin, 7))
            linha = linha + 1
        End If
        lin = lin + 1
    Loop
    MsgBox "Processo concluído - " & txtdtinicial & " à " & txtfinal, vbInformation, "RELATORIO"

End Sub

G@b®!eL

Se a resposta foi útil para você, por gentileza, clique na mãozinha ao lado direito da sua tela no canto superior.

 
Postado : 12/03/2018 9:50 am
(@klarc28)
Posts: 971
Prominent Member
 

O que não deu certo?

    If cdate(Planilha3.Cells(lin, 2)) >= CDate(txtdtinicial) And _
                cdate(Planilha3.Cells(lin, 2)) <= CDate(txtdtfinal) Then
 
Postado : 12/03/2018 10:06 am
(@gfsouza86)
Posts: 0
Trusted Member
Topic starter
 

O que não deu certo foi que os valores não estão aparecendo na planilha relatorio

G@b®!eL

Se a resposta foi útil para você, por gentileza, clique na mãozinha ao lado direito da sua tela no canto superior.

 
Postado : 12/03/2018 11:26 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Gabriel, olhando a rotina, a principio não vi erro, o ideal seria postar seu modelo para podermos analisar melhor, ou percorra a sua rotina o passo a passo utilizando a tecla F8 onde será possivel ver o que está acontecendo realmente.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/03/2018 8:03 pm
(@gfsouza86)
Posts: 0
Trusted Member
Topic starter
 

Marcos Coutinho e klarc28 muito obrigado pela atenção
Consegui resolver

O codigo estava assim

If CDate(Planilha3.Cells(lin, 2)) >= CDate(txtdtinicial) And _
                CDate(Planilha3.Cells(lin, 2)) <= CDate(txtdtfinal) Then

Porem como iria procurar a partir da coluna 4 ele teria que ficar assim

If CDate(Planilha3.Cells(lin, 4)) >= CDate(txtdtinicial) And _
                CDate(Planilha3.Cells(lin, 4)) <= CDate(txtdtfinal) Then

MUITO OBRIGADO!

G@b®!eL

Se a resposta foi útil para você, por gentileza, clique na mãozinha ao lado direito da sua tela no canto superior.

 
Postado : 13/03/2018 11:36 am