Đếm thời gian một trang tính được sử dụng (Microsoft Excel)
Bạn có thể muốn một cách để theo dõi số lần một trang tính cụ thể được sử dụng. Có nhiều cách bạn có thể thực hiện điều này. Một cách đơn giản là chỉ cần lưu trữ số lượng trong chính trang tính.
Bấm chuột phải vào tab trang tính, sau đó chọn Mã Chế độ xem từ menu Ngữ cảnh. Excel hiển thị Trình soạn thảo Visual Basic, nơi bạn nên dán đoạn mã sau:
Private Sub Worksheet_Activate() Range("A1").Select 'customize Range ActiveCell = ActiveCell + 1 Range("B1") = "times opened" 'customize Range End Sub
Mã này tăng giá trị trong ô A1 mỗi khi trang tính được kích hoạt. Bạn có thể sửa đổi các vị trí ô nơi macro ghi thông tin của nó, theo nhu cầu của bạn.
Một cách tiếp cận triệt để hơn là tạo một macro làm tăng các tham chiếu có tên trong sổ làm việc. Hãy xem xét macro sau:
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
Hàm này được thiết kế để được gọi từ một macro khác — một macro được kích hoạt bởi sự kiện sẽ khiến bộ đếm sử dụng tăng lên.
Ví dụ: nếu bạn muốn theo dõi mỗi khi trang tính được kích hoạt, thì bạn sẽ sử dụng macro sau như một phần của đối tượng ThisWorkbook:
Private Sub Workbook_SheetActivate(ByVal sh As Object) IncrementEventCounter "Activated", sh End Sub
Macro tăng bộ đếm có tên “Đã kích hoạt” cho trang tính. Nó thực hiện điều này bằng cách gọi macro IncrementEventCounter, với tên của bộ đếm và tên của trang tính. Thay vào đó, nếu bạn muốn đếm số lần một trang tính được thay đổi, bạn có thể sử dụng macro sau như một phần của đối tượng ThisWorkbook:
Private Sub Workbook_SheetChange(ByVal sh As Object, _ ByVal Target As Excel.Range) IncrementEventCounter "Changed", sh End Sub
Sự khác biệt duy nhất giữa macro này và macro trước đó là nó tăng một bộ đếm có tên “Đã thay đổi”. Để xem các giá trị của bộ đếm, chỉ cần nhập công thức vào ô tham chiếu bộ đếm. Ví dụ: bạn có thể nhập = Đã thay đổi để xem giá trị của bộ đếm Đã thay đổi hoặc = Đã kích hoạt để xem giá trị của bộ đếm Đã kích hoạt. Giá trị của mỗi bộ đếm sẽ khác nhau giữa các tờ, vì các bộ đếm được duy trì trên cơ sở từng tờ.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2497) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: