Cella orario



  • Cella orario
    di Michele (utente non iscritto) data: 06/10/2013 08:00:09

    Buondì. Nella cella L2 ho la formula =ADESSO() e la stessa cella è formattata come gg/mm/aaaa hh:mm quindi mi mostra il giorno, l'ora e i minuti. Appena apro il file l'ora è precisa però quando passano i minuti resta sempre l'ora di apertura del file a meno che non clicco F9. C'è un modo che quando l'orologio del sistema passa al minuto successivo la cella con l'orario faccia la stessa cosa? Grazie



  • di Vecchio Frac data: 06/10/2013 14:21:38

    Ti serve intercettare l'evento OnTime ed eseguire (ogni secondo) un refresh dell'orologio.
    Cerca OnTime nella casella di ricerca, se n'è parlato diverse volte.





  • di Michele (utente non iscritto) data: 06/10/2013 15:23:43

    Quindi bisogna ricorrere al vba? Io con le formulette me la cavo ma il vba non lo mastico proprio!



  • di gaetanopr data: 06/10/2013 15:32:18

    cit>>Ti serve intercettare l'evento OnTime ed eseguire (ogni secondo) un refresh dell'orologio.

    Allego un file, di esempio



  • di Vecchio Frac data: 06/10/2013 16:15:45

    cit. "Quindi bisogna ricorrere al vba?"
    ---> Credo che sia necessario per fare quello che chiedi.
    Del resto non è così terribilmente complicato ^_^





  • di Michele (utente non iscritto) data: 06/10/2013 23:41:05

    Il file di Gaetano funziona bene, però vedere il refresh ogni secondo è un pò bruttino. Non è che c'è qualche formula oppure tramite vba che la cella L2 sia uguale all'orario dell'orologio di sistema?



  • di Miste_x (utente non iscritto) data: 06/10/2013 23:55:05

    ciao

    in questo caso dato che tu lo usi come ore e minuti allunga il tempo di attesa dei secondi
    basta che siano numeri primi tipo 1,3,5,7,11 ecc
    e devi mettere a quella sub() due righe in piu'
    te la posto con la modifica

    esiste anche una funzione con i millesimi ma spiegarla e utilizzarla per chi non conosce bene VB e un pochino aut questa addirittura non ha nessun refresc ed e' come un cronometro da cara con millesimi

    Mister_x
     
    Option Explicit
    Sub Orario()
    DoEvents
    ThisWorkbook.Worksheets("Foglio1").Range("F1").Value = Format(Now, "dd/mm/yyyy-hh:mm")
    Application.OnTime Now + TimeValue("00:00:07"), "Orario" ''7=secondi di attesa
    End Sub



  • di Vecchio Frac data: 07/10/2013 11:01:55

    cit. "basta che siano numeri primi tipo 1,3,5,7,11 ecc "
    ---> Ciao Mister_x mi spieghi perchè? sono curioso :)





  • di Michele (utente non iscritto) data: 07/10/2013 14:10:14

    La macro di Mister_X va benissimo. Grazie mille



  • di Mister_x (utente non iscritto) data: 07/10/2013 15:23:10

    ciao V.F.

    non esiste nessuna spiegazione perche' utilizzare numeri primi, ma dato che
    per me questi hanno un loro fascino essendo divisibili solo per se stessi li ho proposti,

    PS. ripassiamo un pochino la matematica


    ciao da Mister_x






  • di Michele (utente non iscritto) data: 07/10/2013 15:35:58

    Scusa Mister_X volevo chiederti un ultima cosa: come bisogna modificare il tuo codice affinché oltre al foglio1 faccia la stessa cosa con il foglio3 cella G2?



  • di Vecchio Frac data: 07/10/2013 16:35:14

    @michele
    Un piccolo sforzo di fantasia, su ^_^
    ThisWorkbook.Worksheets("Foglio3").Range("G2").Value = Format(Now, "dd/mm/yyyy-hh:mm")

    @mister_x
    cit. "PS. ripassiamo un pochino la matematica "
    ---> Volentieri... io sono una capra in matematica ^_^





  • di Michele (utente non iscritto) data: 07/10/2013 16:38:47

    Quel rigo di codice lo devo inserire sotto questo e basta?
    ThisWorkbook.Worksheets("Foglio1").Range("F1").Value = Format(Now, "dd/mm/yyyy-hh:mm")
    Adesso non posso provare su excel.



  • di Michele (utente non iscritto) data: 07/10/2013 16:52:05

    Ok, perfetto. Funziona. Grazie 1000



  • di Vecchio Frac data: 07/10/2013 18:48:00