Boa tarde, pessoal.
Meu problema é o seguinte:
Estou criando um sistema de consulta entre datas.
Os dados estão em uma planilha e as colunas estão formatadas com data abreviada (dd/mm/aaaa).
Tenho o textbox1 que é a data inicial e o textbox2 que é a data final.
Tenho o textbox3 que é o resultado da busca.
Quando eu digito as datas normais (01/11/2019 a 10/11/2019) ele não trás o resultado, mas se eu digito 11/01/2019 a 11/10/2019, ou seja, invertendo o dia e mês, ele retorna o resultado correto.
Já usei tudo que encontrei (cdate, format, datevalue) mas não resolveu.
Alguém poderia me ajudar, por favor?
Segue meu código para vocês analisarem.
Private Sub TextB_DataF_fc_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim dataI, dataF As Date
'dataI = CDate(TextB_DataI_fc.Value)
'dataF = CDate(TextB_DataF_fc.Value)
If TextB_DataI_fc.Value = Empty Then
MsgBox "É necessário informar as datas.", vbExclamation, "ATENÇÃO!"
Label124.ForeColor = vbBlue
TextB_DataI_fc.SetFocus
Exit Sub
End If
If TextB_DataF_fc.Value = Empty Then
MsgBox "É necessário informar as datas.", vbExclamation, "ATENÇÃO!"
Label125.ForeColor = vbBlue
TextB_DataF_fc.SetFocus
Exit Sub
End If
If CDate(TextB_DataF_fc) < CDate(TextB_DataI_fc) Then
MsgBox "A data final não pode ser menor que a data inicial", vbExclamation, "ATENÇÃO!"
TextB_DataF_fc = Empty
Exit Sub
TextB_DataI_fc.SetFocus
End If
TextB_Recbto_fc = Format(WorksheetFunction.SumIfs(Range("recbtoabertovlr"), Range("recbtoabertovenc"), ">=" & TextB_DataI_fc, Range("recbtoabertovenc"), "<=" & TextB_DataF_fc), "currency")
TextB_Pagto_fc = Format(WorksheetFunction.SumIfs(Range("pagtoabertovlr"), Range("pagtoabertovenc"), ">=" & TextB_DataI_fc, Range("pagtoabertovenc"), "<=" & TextB_DataF_fc), "currency")
Label132.Caption = Format(WorksheetFunction.SumIfs(Range("recbtoabertovlr"), Range("recbtoabertovenc"), ">=" & TextB_DataI_fc, Range("recbtoabertovenc"), "<=" & TextB_DataF_fc), "currency")
Label133.Caption = Format(WorksheetFunction.SumIfs(Range("pagtoabertovlr"), Range("pagtoabertovenc"), ">=" & TextB_DataI_fc, Range("pagtoabertovenc"), "<=" & TextB_DataF_fc), "currency")
TextB_SaldoBa_fc.Value = Format(Sheets("Sicoob").Range("D7"), "currency")
If TextB_SaldoBa_fc.Value < 0 Then
TextB_SaldoBa_fc.ForeColor = RGB(255, 0, 0) 'vbRed
End If
Label134.Caption = Format(Sheets("Sicoob").Range("D7"), "currency")
If Label134 < 0 Then
Label134.ForeColor = RGB(255, 0, 0) 'vbRed
End If
TextB_SaldoCa_fc.Value = Format(Sheets("Caixa").Range("D7"), "currency")
If TextB_SaldoCa_fc.Value < 0 Then
TextB_SaldoCa_fc.ForeColor = RGB(255, 0, 0) 'vbRed
End If
Label135.Caption = Format(Sheets("Caixa").Range("D7"), "currency")
If Label135 < 0 Then
Label135.ForeColor = RGB(255, 0, 0) 'vbRed
End If
TextB_Total_fc.Value = Format(CDbl(TextB_Pagto_fc.Value) + CDbl(TextB_Recbto_fc.Value) + CDbl(TextB_SaldoBa_fc.Value) + CDbl(TextB_SaldoCa_fc.Value), "currency")
If TextB_Total_fc.Value < 0 Then
TextB_Total_fc.ForeColor = RGB(255, 0, 0) 'vbRed
End If
Label136.Caption = Format(CDbl(Label132) + CDbl(Label133) + CDbl(Label134) + CDbl(Label135), "currency")
If Label136 < 0 Then
Label136.ForeColor = RGB(255, 0, 0) 'vbRed
End If
TextB_DataF_fc.SetFocus
End Sub
Postado : 13/11/2019 12:16 pm