Conto alla Rovescia



  • Conto alla Rovescia
    di Mimmo (utente non iscritto) data: 30/12/2014 09:48:19

    Salve Buon Giorno a tutti mi chiamo Domenico.
    Avrei bisogno di un aiutino per risolvere un problema che espongo:
    In Excel versione 2007 ho la cella A1 con scritto una data iniziale esempio 01/08/2014 poi nella cella A2 ho inserito con un codice macro l'ora corrente in formato dinamico (h.m.s) quindi quando apro il foglio vedo trascorrere i secondi minuti e ora, poi nella cella A3 ho inserito un'altra data tipo 01/08/2015 ed alla cella A4 ho inserito un orario fisso tipo 20.00.00 (h.m.s.) vorrei una funzione o un codice che mi permettesse di calcolare la differenza tra le celle (A1+A2)-(A3+A4) il risultato trasformato in h.m.s. e lo stesso proceda ad un conto alla rovescia, ed un risultato che trasformi il tutto in soli secondi e che faccia lo stesso il conteggio alla rovescia. Io non so se sia fattibile scrivere un codice del genere chiedo lumi. Ringrazio tutti coloro che risponderanno al mio quesito e Auguri di Buon anno a tutti



  • di lepat (utente non iscritto) data: 30/12/2014 10:24:26

    tutto questo senza allegare il tuo file ?



  • di Mimmo (utente non iscritto) data: 30/12/2014 11:13:37

    Scusami ho allegato il file. Grazie ancora.



  • di Mister_x (utente non iscritto) data: 30/12/2014 11:32:42

    ciao

    in A1 la tua data
    B1=ORARIO.VALORE(TESTO(ADESSO();"hh.mm.ss")) formattato hh.mm.ss
    C1 seconda data
    D1 orario
    E1=ASS((A1+B1)-(C1+D1))
    in un modulo di classe
    Sub Tempo()
    DoEvents
    Calculate
    Application.OnTime Now + TimeSerial(0, 0, 1), "Tempo"
    End Sub

    allego file
     
    Sub Tempo()
        DoEvents
        Calculate
        Application.OnTime Now + TimeSerial(0, 0, 1), "Tempo" 
    End Sub
    
    






  • di Mister_x (utente non iscritto) data: 30/12/2014 11:44:54

    riciao

    mi sono dimentica di dirti che normalmente in questo calcolo si utilizza la funzione OGGI()
    nel tuo caso in A1=OGGI()
    PS guarda la formattazione in E1
    in F1 basta che metti come formattazione ss
    riciao





  • di Mimmo (utente non iscritto) data: 30/12/2014 12:18:48

    LA CELLA B1 e E1 =ORARIO.VALORE(TESTO(ADESSO();"hh.mm.ss")) e =ASS((A1+B1)-(C1+D1)) EXCEL 2007 rivela errore valore! che problema avrò? grazie ancora



  • di Mister_x (utente non iscritto) data: 30/12/2014 13:17:04

    cioa

    visionato il tuo file
    nel tuo caso ti ritorna in B2 un valore sotto forma di testo dato che utilizzi la funzione Format()
    Foglio1.Range("B2").Value = Format(Now, "hh.mm.ss")

    in questo caso in E2 devi inserire la seguente formula
    =ASS((A2+ORARIO.VALORE(B2))-(C2+D2)) la formattazione e' [h].mm.ss
    in F2
    =E2 formattazione ss

    la funzione ASS() serve per visualizzare trasformare i valori negativi in positivi , orario negativo e' impossibile visualizzarlo ###############

    se invece vuoi utilizzare in
    E2=ASS((A2+B2)-(C2+D2))
    devi trasformare la tua funzione Format() con TimeValue

    Foglio1.Range("B2").Value = TimeValue(Format(Now, "hh.mm.ss"))

    ciao





  • di Mimmo (utente non iscritto) data: 31/12/2014 12:18:33

    Ti ringrazio tantissimo è tutto funzionante e Ti Auguro un Buon Fine Anno
    Saluti Dom.
    Buon Fine Anno a tutti