Laurie biết cách xem các thuộc tính của sổ làm việc Excel. Tuy nhiên, điều cô ấy muốn làm là xem các thuộc tính tương tự so với các trang tính riêng lẻ. Ví dụ: cô ấy tự hỏi liệu có cách nào để xem các thuộc tính như ngày tạo, ngày sửa đổi, tác giả hoặc “được sửa đổi lần cuối bởi” cho các trang tính riêng lẻ hay không.

Thật không may, Excel không theo dõi những thông tin đó cho trang tính. Cách giải quyết duy nhất mà chúng tôi có thể tìm ra là phát triển bản ghi thông tin của riêng bạn về các trang tính trong sổ làm việc. Một cách rõ ràng để thực hiện phát triển trình xử lý sự kiện Workbook_SheetChange. Sau đây là ví dụ về một ví dụ bạn có thể thêm vào đối tượng ThisWorkbook trong Visual Basic Editor:

Private Sub Workbook_SheetChange(ByVal ws As Object, ByVal Target As Range)

Dim s As Worksheet     Dim J As Integer     Dim FoundIt As Boolean

On Error Resume Next     Set s = Worksheets("Stats")

On Error GoTo 0     Application.EnableEvents = False     If s Is Nothing Then         ' Stats worksheet did not exist         Set s = Worksheets.Add(After:=Worksheets(Worksheets.Count))

s.Name = "Stats"

s.Range("A1") = "Worksheet"

s.Range("B1") = "Creator"

s.Range("C1") = "Last Modified"

s.Range("D1") = "Modifed By"

With s.Range("A1:D1")

.Font.Bold = True             .Borders(xlEdgeBottom).LineStyle = xlContinuous             .Borders(xlEdgeBottom).Weight = xlThin         End With

s.Range("A2") = s.Name         s.Range("B2") = s.CustomProperties.Creator         s.Range("C2") = Format(Now, " mm/dd/yyyy  hh:mm am/pm")

s.Range("D2") = Application.UserName     End If     J = 2     FoundIt = False     While (s.Cells(J, 1) <> "")

If s.Cells(J, 1) = ws.Name Then             FoundIt = True             s.Cells(J, 3) = Format(Now, " mm/dd/yyyy  hh:mm am/pm")

s.Cells(J, 4) = Application.UserName         End If         J = J + 1     Wend     If Not FoundIt Then         ' Worksheet name not found         s.Cells(J, 1) = ws.Name         s.Cells(J, 2) = ws.CustomProperties.Creator         s.Cells(J, 3) = Format(Now, " mm/dd/yyyy  hh:mm am/pm")

s.Cells(J, 4) = Application.UserName     End If     ws.Activate     Application.EnableEvents = True End Sub

Trình xử lý sự kiện được kích hoạt bất cứ lúc nào bạn thực hiện thay đổi trong sổ làm việc. Đầu tiên, nó sẽ kiểm tra xem có một trang tính có tên là Thống kê hay không. Nếu không, thì trang tính được tạo và một số thông tin thô sơ được thêm vào đó. Trình xử lý xem trong trang tính Thống kê để xác định xem dữ liệu ở đó có bao gồm một hàng cho trang tính có thay đổi xảy ra hay không. Nếu không, thì một hàng sẽ được thêm vào, nhưng nếu vậy, thông tin trong hàng được cập nhật.

Trình xử lý chỉ theo dõi bốn phần thông tin — tên trang tính, người tạo, ngày thực hiện thay đổi cuối cùng và tên người dùng của người thực hiện thay đổi. (Thuộc tính Creator chỉ ra một giá trị số liên quan đến chương trình đã tạo trang tính. Nó không hữu ích lắm đối với con người và tôi đã đưa nó vào làm ví dụ minh họa về cách có thể lưu trữ thông tin.)

Hãy nhớ rằng, đây chỉ là một giải pháp thay thế và bạn nên cân nhắc cẩn thận về loại thông tin bạn muốn theo dõi cho trang tính của mình. Sau đó, bạn có thể sửa đổi mã để phản ánh mong muốn đó.

_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 (7542) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.