VBA Lấy tên trang tính / đổi tên trang tính

Hướng dẫn này sẽ bao gồm việc tương tác với tên Trang tính trong VBA.

Lấy tên trang tính

Tên trang tính được lưu trữ trong Tên tài sản của Trang tính hoặc Trang tính sự vật. Tên Trang tính là tên “tab” hiển thị ở cuối Excel:

Nhận tên ActiveSheet

Điều này sẽ hiển thị tên ActiveSheet trong một hộp thông báo:

1 MsgBox ActiveSheet.Name

Lấy tên trang tính theo số chỉ mục

Thao tác này sẽ hiển thị tên trang tính đầu tiên trong hộp thông báo:

1 MsgBox Sheets (1). Tên

Thao tác này sẽ hiển thị tên của trang tính cuối cùng trong sổ làm việc:

1 MsgBox Sheets (Sheets.Count) .Name

Lấy tên trang tính theo tên mã

Trong VBA Editor, có một tùy chọn để thay đổi “tên mã” của Trang tính. Tên mã không hiển thị với người dùng Excel và chỉ có thể được nhìn thấy trong VBA Editor:

Trong VBA, khi làm việc với Trang tính, bạn có thể tham chiếu tên Tab thông thường:

1 Trang tính ("TabName"). Kích hoạt

hoặc tên mã VBA:

1 CodeName.Activate

Tham chiếu tên mã là mong muốn trong trường hợp tên tab Trang tính thay đổi. Nếu bạn cho phép người dùng Excel truy cập vào việc thay đổi tên trang tính, bạn nên tham chiếu tên mã trong mã VBA của mình để tên tab Trang tính không khớp không gây ra lỗi. Tên mã trang tính được thảo luận chi tiết hơn tại đây.

Để lấy tên Trang tính bằng cách sử dụng Tên mã VBA, hãy làm như sau:

1 MsgBox CodeName.Name

Đổi tên trang tính

Bạn có thể đổi tên Trang tính bằng cách điều chỉnh Tên tài sản của Trang tính hoặc Trang tính sự vật.

Đổi tên ActiveSheet

1 ActiveSheet.Name = "NewName"

Đổi tên trang tính theo tên

1 Trang tính ("OldSheet"). Name = "NewName"

Đổi tên trang tính theo số chỉ mục trang tính

Ở đây chúng tôi sử dụng 1 để đổi tên Trang tính đầu tiên trong Sổ làm việc.

1 Trang tính (1) .Name = "NewName"

Đổi tên trang tính theo tên mã

Mã này sẽ đổi tên trang tính bằng tên mã VBA của nó (đã thảo luận ở trên):

1 Component.Name = "NewName"

Kiểm tra xem Tên trang tính có tồn tại không

Chúng tôi đã tạo một hàm để kiểm tra xem một Trang tính có tên cụ thể đã tồn tại hay chưa.

123456789101112 'Kiểm tra nếu một Phạm vi tồn tại trên một trang tính.'Để trống dải ô để kiểm tra xem trang tính có tồn tại không'Đầu vào:'WhatSheet - Tên chuỗi của Trang tính (ví dụ "Trang 1")'WhatRange (Tùy chọn, Mặc định = "A1") - Tên chuỗi của phạm vi (ví dụ: "A1")Hàm RangeExists (WhatSheet As String, ByVal tùy chọn WhatRange As String = "A1") As BooleanKiểm tra độ sáng theo phạm viKhi có lỗi Tiếp tục tiếp theoĐặt kiểm tra = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Lỗi GoTo 0Chức năng kết thúc

Hàm sẽ trả về TRUE nếu Trang tính tồn tại hoặc FALSE nếu không có.

Sử dụng chức năng như vậy:

123 Sub Test_SheetExists ()MsgBox RangeExists ("thiết lập")Kết thúc Sub

Sao chép trang tính và đổi tên

Ví dụ này là từ bài viết của chúng tôi về Sao chép Trang tính.

Sau khi sao chép và dán một Trang tính, trang tính mới được tạo sẽ trở thành Trang tính Hoạt động. Vì vậy, để đổi tên một Trang tính đã sao chép, chỉ cần sử dụng ActiveSheet.Name:

12345678 Sub CopySheetRename2 ()Trang tính ("Trang tính1"). Sao chép Sau: = Trang tính (Trang tính.Count)Khi có lỗi Tiếp tục tiếp theoActiveSheet.Name = "LastSheet"Lỗi GoTo 0Kết thúc Sub

Lưu ý: Chúng tôi đã thêm xử lý lỗi để tránh lỗi nếu tên Trang tính đã tồn tại.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave