none
DATA DE VENCIMENTO. ATUALIZAÇÃO DIÁRIA RRS feed

  • Pergunta

  • Boa tarde! Apesar de ter dado muito certo a exibição da quantidade de tempo que falta para vencer, e informar as mensagens para vencimento, quero solicitar outra ajuda... quero saber se existe um código que calcula para que todas as vezes que inicio o userform, ele atualiza os dias restantes para o vencimento. Ou seja, em cadastro hoje, 28/09/2015, e o vencimento será amanhã, dai recebo a mensagem que falta um dia para o vencimento. OK! Amanhã, ao abrir o userform ou a própria planilha, vejo que a quantidade de dias restantes ainda é a mesma, ou seja, 1 dia, e não HOJE É O VENCIMENTO, FALTAM 0 DIAS. Aguardo ajuda.
    segunda-feira, 28 de setembro de 2015 19:51

Respostas

  • Olá Vinícius,

    Para fazer comparações de datas utilizamos a função DATEDIFF.

    Segue abaixo uma boa referência para a mesma:

    http://www.microsoftexcel.com.br/index.php/excel-formulas-e-funcoes/219-excel-formulas-data-tempo-idade/438-excel-planilha-formula-datadif-retorna-idade-anos-e-formula-alternativa.html

    .

    Mas para exemplificar, você deve fazer uma diferença entre a data de vencimento e a data de hoje, se a diferença for negativo, significa que 'está vencido'.

    Private Sub Workbook_Open()
    
    Dim valorData As Date
    
    valorData = Sheets("Plan1").Range("A1").Value
    
    If DateDiff("d", Now(), valorData) < 0 Then
        MsgBox "Vencido", vbInformation + vbOKOnly
    ElseIf DateDiff("d", Now(), valorData) = 0 Then
        MsgBox "Vence hoje", vbInformation + vbOKOnly
    ElseIf DateDiff("d", Now(), valorData) > 0 Then
        MsgBox "Ainda não venceu, contudo faltam: " & DateDiff("d", Now(), valorData) & " dias para vencer", vbInformation + vbOKOnly
    End If
    
    End Sub

    segunda-feira, 28 de setembro de 2015 20:04

Todas as Respostas

  • Olá Vinícius,

    Para fazer comparações de datas utilizamos a função DATEDIFF.

    Segue abaixo uma boa referência para a mesma:

    http://www.microsoftexcel.com.br/index.php/excel-formulas-e-funcoes/219-excel-formulas-data-tempo-idade/438-excel-planilha-formula-datadif-retorna-idade-anos-e-formula-alternativa.html

    .

    Mas para exemplificar, você deve fazer uma diferença entre a data de vencimento e a data de hoje, se a diferença for negativo, significa que 'está vencido'.

    Private Sub Workbook_Open()
    
    Dim valorData As Date
    
    valorData = Sheets("Plan1").Range("A1").Value
    
    If DateDiff("d", Now(), valorData) < 0 Then
        MsgBox "Vencido", vbInformation + vbOKOnly
    ElseIf DateDiff("d", Now(), valorData) = 0 Then
        MsgBox "Vence hoje", vbInformation + vbOKOnly
    ElseIf DateDiff("d", Now(), valorData) > 0 Then
        MsgBox "Ainda não venceu, contudo faltam: " & DateDiff("d", Now(), valorData) & " dias para vencer", vbInformation + vbOKOnly
    End If
    
    End Sub

    segunda-feira, 28 de setembro de 2015 20:04
  • Então esse código fará com que todos os dias minha coluna com dia do vencimento será atualizada? Obrigado pela atenção.
    segunda-feira, 28 de setembro de 2015 20:15