Cella timer -tieni in conto



  • Cella timer -tieni in conto
    di Patrick (utente non iscritto) data: 08/04/2010

    Buonasera a tutti,ho un piccolo problema;
    io vorrei creare ad esempio sul foglio 2 nella cella a1 una cella che mi tiene il conto del tempo che il file rimane aperto;
    mi spiego meglio...ogni volta che il file viene aperto la cella timer riprende a girare fino a quando non lo chiudo,quando poi riapro il file ritorna a girare cosi da sapere alla fine quanto tempo ho lavorato effettivamente sul file.
    grazie mille


  • Now
    di Rp71 (utente non iscritto) data: 09/04/2010

    In vba memorizza quando apri il file in una variabile il valore "now" (adesso > data ora) e prima di chiudere fai la sottrazione del nuovo "now" e la variabile memorizzata in precedenza. memorizzi il dato in un'altra variabile e la volta successiva lo utilizzi come base di partenza x il calcolo incrementale del tempo ... e così via.



  • di Locate (utente non iscritto) data: 09/04/2010

    Ciao
    ti posto una macro che devi inserire in -- thisworkbook -- e devi inserire nel foglio2 in cella b3 la seguente formula =b2-b1 , attenzione che in questa cella quando va in calcolo negativo ti mostra dei cancelletti non fa niente perche appena esci esegue il calcolo e allapertura lo aggiorna , le celle b1:b3 vanno formattate in hh:mm.ss la b4 in [h]:mm.ss attenzione alle parentesi quatre
    ciao da locate
    spero di essere stato utile
     
    Option Explicit
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Worksheets("Foglio2").Range("B2").Value = Time ''chiusura
    End Sub
    
    Private Sub workbook_open()
    Dim orario_t
    orario_t = Worksheets("Foglio2").Range("B4")
    orario_t = orario_t + Worksheets("Foglio2").Range("B3")
    Worksheets("Foglio2").Range("B4").Value = orario_t
    Worksheets("Foglio2").Range("B1").Value = Time  ''apertura
    Foglio1.Select
    End Sub



  • di Locate (utente non iscritto) data: 09/04/2010

    Ciao
    mi sono dimenticato un particolare importante
    la prima volta che esegui la macro in b4 quando rientri troverai un valore errato, elimina e da quel momento parte il conto da zero, questo lo puoi fare in qualsiasi momento anche inserendo orario di partenza manualmente
    prova ciao



  • di Patrick (utente non iscritto) data: 09/04/2010

    Grazie mille va benissimo!non credevo si potesse fare...grazie mille ancora



  • di Patrick (utente non iscritto) data: 09/04/2010

    Ho solo un problema...nel file che sto utilizzando tengo il conto anche degli accessi con questo codice che e se inserisco il codice che mi hai girato si blocca tutto xkè trova 2 volte la voce private sub workbook_open()...come posso risolvere!?
     
    Private Sub Workbook_Open()
    
    mfilehandle = FreeFile
    strpath = "C:aperture.txt"
    On Error GoTo ErrorHandler
    Open strpath For Input As #mfilehandle
    Close #mfilehandle
    Ok:
    Open strpath For Input As #mfilehandle
    Input #mfilehandle, Numero
    Cells(1, 1) = Numero + 1
    Close #mfilehandle
    Open strpath For Output As #mfilehandle
    Print #mfilehandle, Numero + 1
    Close #mfilehandle
    
    
    
    Exit Sub
    
    ErrorHandler:        ' Error-handling routine.
        Select Case Err.Number    ' Evaluate error number.
            Case 53    ' "File already open" error.
                Open strpath For Output As #mfilehandle
                Print #mfilehandle, 0
                Close #mfilehandle
                GoTo Ok
                        
        End Select
        Resume    ' Resume execution at same line
                    ' that caused the error.
    
    End Sub


  • Errore
    di Patrick (utente non iscritto) data: 10/04/2010

    Il problema di far convivere i due codici l'ho risolto