Potresti voler un modo per tenere traccia di quante volte viene utilizzato un particolare foglio di lavoro. Ci sono molti modi per farlo. Un modo semplice è memorizzare il conteggio nel foglio di lavoro stesso.

Fare clic con il pulsante destro del mouse su una scheda del foglio di lavoro, quindi scegliere Visualizza codice dal menu contestuale. Excel mostra Visual Basic Editor, dove dovresti incollare il seguente codice:

Private Sub Worksheet_Activate()

Range("A1").Select 'customize Range     ActiveCell = ActiveCell + 1     Range("B1") = "times opened" 'customize Range End Sub

Questo codice incrementa il valore nella cella A1 ogni volta che viene attivato il foglio di lavoro. È possibile modificare le posizioni delle celle in cui la macro scrive le proprie informazioni, in base alle proprie esigenze.

Un approccio più completo consiste nel creare una macro che incrementa i riferimenti denominati all’interno della cartella di lavoro. Considera la seguente macro:

Function IncrementEventCounter(sName As String, sht As Object)

On Error Resume Next     If sht.Names(sName) Is Nothing Then _       ThisWorkbook.Names.Add "'" & sht.Name & "'!" & sName, "1", False     On Error GoTo 0     With ThisWorkbook.Names("'" & sht.Name & "'!" & sName)

.RefersTo = Val(Mid(.Value, 2)) + 1     End With End Function

Questa funzione è progettata per essere chiamata da una macro diversa, quella attivata dall’evento che dovrebbe far aumentare il contatore di utilizzo.

Ad esempio, se vuoi tenere traccia di ogni volta che il foglio di lavoro viene attivato, allora dovresti usare la seguente macro come parte dell’oggetto ThisWorkbook:

Private Sub Workbook_SheetActivate(ByVal sh As Object)

IncrementEventCounter "Activated", sh End Sub

La macro incrementa un contatore denominato “Attivato” per il foglio di lavoro. Lo fa chiamando la macro IncrementEventCounter, con il nome del contatore e il nome del foglio di lavoro. Se, invece, volessi contare il numero di volte che un foglio di lavoro è stato modificato, potresti usare la seguente macro come parte dell’oggetto ThisWorkbook:

Private Sub Workbook_SheetChange(ByVal sh As Object, _   ByVal Target As Excel.Range)

IncrementEventCounter "Changed", sh End Sub

L’unica differenza tra questa macro e quella precedente è che incrementa un contatore denominato “Modificato”. Per vedere i valori dei contatori, basta inserire una formula in una cella che fa riferimento al contatore. Ad esempio, puoi inserire = Modificato per vedere il valore del contatore Modificato o = Attivato per vedere il valore del contatore Attivato. Il valore di ogni contatore differirà da foglio a foglio, poiché i contatori vengono gestiti foglio per foglio.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (10544) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: