Có thể bạn đã biết rằng bạn có thể thay đổi tên của tab trang tính bằng cách nhấp đúp vào tab và đặt tên mới. Tuy nhiên, nếu bạn muốn làm điều đó một cách linh hoạt? Điều gì xảy ra nếu bạn muốn giá trị trong ô A1 tự động xuất hiện dưới dạng tên tab?

Thật không may, Excel không cung cấp một hàm nội tại để xử lý loại nhiệm vụ này. Nó là một nhiệm vụ tương đối đơn giản để phát triển một chức năng như vậy bằng cách sử dụng macro sẽ thực hiện công việc cho bạn. Ví dụ: macro sau sẽ thay đổi tên tab thành nội dung của A1:

Sub myTabName()

ActiveSheet.Name = ActiveSheet.Range("A1")

End Sub

Có một số mục quan trọng cần lưu ý về macro này. Trước hết, không có lỗi kiểm tra. Điều này có nghĩa là nếu A1 chứa giá trị không hợp lệ đối với tên tab (chẳng hạn như không có gì hoặc nhiều hơn 31 ký tự), thì macro sẽ tạo ra lỗi. Thứ hai, macro phải được chạy thủ công.

Điều gì sẽ xảy ra nếu bạn muốn một macro mạnh mẽ hơn, kiểm tra lỗi và chạy tự động? Kết quả là lâu hơn một chút, nhưng vẫn không quá phức tạp:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

Set Target = Range("A1")

If Target = "" Then Exit Sub     On Error GoTo Badname     ActiveSheet.Name = Left(Target, 31)

Exit Sub Badname:

MsgBox "Please revise the entry in A1." & Chr(13) _     & "It appears to contain one or more " & Chr(13) _     & "illegal characters." & Chr(13)

Range("A1").Activate End Sub

Để thiết lập macro này, hãy làm theo các bước sau:

  1. Mở một sổ làm việc mới chỉ có một trang tính trong đó.

  2. Bấm chuột phải vào tab trang tính và chọn Mã Chế độ xem từ menu Ngữ cảnh kết quả. Excel hiển thị VBA Editor.

  3. Dán (hoặc nhập) macro trên vào cửa sổ mã.

  4. Đóng VBA Editor.

  5. Xác định vị trí thư mục XLStart trên hệ thống của bạn. (Sử dụng khả năng tìm kiếm của Windows để định vị thư mục.)

  6. Lưu sổ làm việc dưới dạng mẫu Excel bằng tên BOOK.XLT trong thư mục XLStart. Điều này làm cho mẫu trở thành mẫu của bạn cho bất kỳ sổ làm việc mới nào bạn tạo.

  7. Một lần nữa lưu sổ làm việc dưới dạng mẫu trong cùng một thư mục, lần này sử dụng tên SHEET.XLT. Điều này làm cho mẫu trở thành mẫu cho bất kỳ trang tính mới nào bạn chèn vào sổ làm việc.

  8. Đóng và khởi động lại Excel.

Bây giờ, bất cứ lúc nào bạn thay đổi giá trị trong ô A1, tab trang tính cũng cập nhậ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 (2145) á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: