La domanda e' chi /che cosa nel tuo foglio excel modifica il contenuto della cella B3: e' una query web, una importazione dati da un file, un link dde, una manina che pigia un tasto, o che cosa?
In mancanza di questa informazione, che consentirebbe di agganciarsi all' evento che scatena il cambiamento, posso solo immaginare una macro che parte ogni minuto e che controlla se B3 attuale e' diverso dal precedente e se SI registra in un foglio chiamato LOG il nuovo B3, data/ora "corrente" e delta rispetto alla variazione precedente.
Ad esempio:
- Codice: Seleziona tutto
Sub CheckB3()
Application.OnTime Now + TimeValue("00:01:00"), "CheckB3" 'Ripeti ogni 00h-01m-00sec
With ThisWorkbook
If .Sheets("Foglio1").Range("B3").Value = _
.Sheets("LOG").Cells(Rows.Count, 1).End(xlUp).Value Then Exit Sub
.Sheets("LOG").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = .Sheets("Foglio1").Range("B3").Value
.Sheets("LOG").Cells(Rows.Count, 1).End(xlUp).Offset(0, 1).Value = Now
With .Sheets("LOG").Cells(Rows.Count, 1).End(xlUp).Offset(0, 2)
.FormulaR1C1 = "=RC[-1]-R[-1]C[-1]"
.NumberFormat = "[h]:mm"
End With
End With
End Sub
Uso: da excel, Alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; copia il codice e incollalo nel frame vuoto di dx.
Il foglio LOG deve gia' esistere all' interno del tuo file. Al posto di "Foglio1" usa il tuo vero "NomeFoglio" (quello che contiene il B3 che cambia; in 2 posizioni).
Poi cerca nel frame Progetto - VBAProject dell' editor delle macro la voce ThisWorkbook (se non la trovi, prova Menu /Visualizza /Gestioe progetti) e fai doppioclick; copia il seguente codice e incollalo nel frame di dx:
- Codice: Seleziona tutto
Private Sub Workbook_Open()
Call CheckB3
End Sub
Salva, chiudi i file e riaprilo.
Ogni minuto verra' fatto un check, e sul foglio LOG ti ritroverai in col A-B-C i valori assunti da B3 di Foglio1, data/ora di cambiamento, hh.mm dal cambiamento precedente.
Ciao