confronto ore



  • confronto ore
    di netta data: 26/10/2015 08:52:07

    Buongiorno a tutti
    Vorrei sapere se è possibile ,dopo aver inserito un orario in una cella di un foglio di lavoro,fare in modo che questa cella ridiventi vuota quando tale orario diventa minore o uguale a quello dell'orologio di sistema.
    Grazie



  • di Mister_x (utente non iscritto) data: 26/10/2015 11:13:28

    ciao

    questo e possibile farlo con VBA , come stiamo a questi ??????

    alternativa con la Formattazione condizionale
    prendiamo ad esempio la cella A1
    PS la cella deve essere formattata a ( ore )
    va inserita sia la data che l'orario
    formattazione condizionale
    =adesso()>=A1
    metti il colore del carattere uguale a quello del riempimento e confermi

    attenzione che excel ricalcola le funzioni ad ogni inserimento nel foglio o premendo il tasto F9

    allego il file di prova
    ciao





  • di netta data: 26/10/2015 21:32:22

    Ciao
    grazie per aver risposto così celermente.
    In effetti ho utilizzato la funzione adesso() che si aggiorna ogni 5 secondi in una cella ed ho poi fatto il resto con la formattazione condizionale.Cercavo pertanto un'altra soluzione che mi permettesse di non scrivere la data oltre l'orario nella cella.



  • di Raffaele_53 data: 28/10/2015 03:20:36

    >>>di non scrivere la data
    Se scrivo in A1 = 12:00, in formattazione-Condizionale metto =E((OGGI()+$A$1)>=ADESSO())
    Faccio diventare il carattere bianco per non vederlo. Però in A1 ci sarà lo stesso l'ora.
    Oppure VBA

     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Range("A1") <> "" Then
            If Now >= Date + Range("A1") Then Range("A1") = ""
        End If
    End Sub



  • di Mister_x (utente non iscritto) data: 28/10/2015 15:41:10

    ciao

    si potrebbe usare anche una sub() ricorsiva su se stessa con l'evento -- OnTime --

    da inserire in modulo di classe, basta attivarla e questa controlla ogni x tempo , adesso ogni 10 secondi,
    la cella A1 con il solo orario inserito

    ciao
     
    Sub clock()
    DoEvents
    If Date + Sheets("Foglio1").Range("A1").Value <= Now Then
     Sheets("Foglio1").Range("A1").Value = ""
    End If
    Application.OnTime Now + TimeSerial(0, 0, 10), "clock"
    End Sub