ممکن است بخواهید راهی برای پیگیری تعداد دفعات استفاده از یک کاربرگ خاص داشته باشید. راه های زیادی وجود دارد که می توانید این کار را انجام دهید. یک راه ساده این است که فقط تعداد را در خود کاربرگ ذخیره کنید. روی یک برگه کاربرگ راست کلیک کنید، سپس از منوی زمینه، View Code را انتخاب کنید. اکسل ویرایشگر ویژوال بیسیک را نمایش می دهد که باید کد زیر را در آن جایگذاری کنید:
Private Sub Worksheet_Activate()
Range("A1").Select customize Range
ActiveCell = ActiveCell + 1
Range("B1") = "times opened" customize Range
End Sub
این کد هر بار که کاربرگ فعال می شود مقدار سلول A1 را افزایش می دهد. می توانید مکان های سلولی را که ماکرو اطلاعات خود را در آن می نویسد، بر اساس نیاز خود تغییر دهید.
یک رویکرد دقیق تر، ایجاد یک ماکرو است که مراجع نامگذاری شده را در ورک بوک افزایش می دهد. ماکرو زیر را در نظر بگیرید:
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
این تابع به گونه ای طراحی شده است که از یک ماکرو متفاوت فراخوانی شود—یکی که توسط رویدادی فعال می شود که باید باعث افزایش شمارنده استفاده شود. برای مثال، اگر می خواهید هر بار که کاربرگ فعال می شود پیگیری کنید، از ماکرو زیر به عنوان بخشی از شی ThisWorkbook استفاده می کنید:
Private Sub Workbook_SheetActivate(ByVal sh As Object)
IncrementEventCounter "Activated", sh
End Sub
ماکرو شمارنده ای به نام "فعال شده" را برای کاربرگ افزایش می دهد. این کار را با فراخوانی ماکرو IncrementEventCounter با نام شمارنده و نام کاربرگ انجام می دهد. در عوض، اگر می خواهید تعداد دفعاتی که یک کاربرگ تغییر کرده است بشمارید، می توانید از ماکرو زیر به عنوان بخشی از شی ThisWorkbook استفاده کنید:
Private Sub Workbook_SheetChange(ByVal sh As Object, _
ByVal Target As Excel.Range)
IncrementEventCounter "Changed", sh
End Sub
تنها تفاوت این ماکرو با ماکرو قبلی این است که شمارنده ای به نام "تغییر شده" را افزایش می دهد. برای دیدن مقادیر شمارنده ها، کافیست فرمولی را در سلولی وارد کنید که به شمارنده اشاره دارد. برای مثال، می توانید برای دیدن مقدار شمارنده تغییر یافته، =تغییر شده، یا برای دیدن مقدار شمارنده فعال شده، = فعال شده است. مقدار هر شمارنده از برگه ای به صفحه دیگر متفاوت خواهد بود، زیرا شمارنده ها بر اساس برگه به ورق نگهداری می شوند.