Sottrazione giorni da data odierna



  • Sottrazione giorni da data odierna
    di Steeve (utente non iscritto) data: 05/09/2014 10:05:59

    Buongiorno a tutti,
    illustro il mio problema sperando che qualcuno mi possa dare una mano.

    Ho una variabile dataodierna in cui scrivo attraverso la funzione Date
    dataodierna= date

    Tramite un'InputBox chiedo un numero intero e lo assegno alla variabile durata

    Ldurata:
    durata = Application.InputBox("Inserire numero giorni di attesa apertura ordine") (MAX 31) ", Type:=1)
    If Int(durata) < 0 Then
    errore = MsgBox("Impossibile inserire un valore negativo", vbOKOnly, "Errore")
    GoTo Ldurata
    End If

    A quel punto mi servirebbe una funzione che conta i giorni al contrario

    ad esempio:

    dataodierna= 05/09/14
    durata = 10

    il risultato che vorrei ottenere è 27/08/14

    Qualcuno ha qualche idea?

    Vi ringrazio!!



    mi servirebbe il risultato



  • di Lucas87 data: 05/09/2014 10:28:04

    Ciao
    Hai provato a fare semplicemente la sottrazione?



  • di Steeve (utente non iscritto) data: 05/09/2014 10:35:30

    Cioè dici di sottrarre semplicemente un intero?




  • di Steeve (utente non iscritto) data: 05/09/2014 10:36:05

    Si ho provato e mi da Overflow se sottraggo un intero a una data
     
    Ldurata:
    
    durata = Application.InputBox("Inserire numero giorni di durata del corso (MAX 31) ", Type:=1)
     If Int(duratacorso) < 0 Then
        errore = MsgBox("Impossibile inserire un valore per il giorno maggiore di 31", vbOKOnly, "Errore")
        GoTo Ldurata
        End If
     
    dataodierna = Date
    giornoinizio = dataodierna - durata
    giornofine = dataodierna



  • di Lucas87 data: 05/09/2014 10:44:01

    A me funziona...
    Nessun errore
    Scrivendo i risultati viene tutto correttamente.



  • di Lucas87 data: 05/09/2014 10:46:16

    Considera che una data non è altro che il numero di giorni trascorsi da una data di riferimento (mi sembra il 01/01/1900). Poi impostando il formato "data" viene mostrata con la dicitura "gg/mm/aaaa" o altro, ma resta comunque un numero



  • di Steeve (utente non iscritto) data: 05/09/2014 14:14:57

    Scusa ma perchè a me da overflow? cosa ho fatto di diverso?



  • di Lucas87 data: 05/09/2014 14:27:13

    Non lo so.
    Io ho copiato il tuo codice, ho aggiunto le istruzioni per scrivere sulle celle i valori e funziona tutto.
    Puoi controllare in quale punto del codice esce l'errore?
    Puoi allegare il file per vedere cosa succede?



  • di Steeve (utente non iscritto) data: 05/09/2014 15:10:22

    Scusa Lucas, sono un pirla cercavo di mettere il risultato in un intero invece di metterlo in una variabile di tipo Date.

    Ti ringrazio per la pazienza.

    Grazie mille