VBA ActiveSheet & Cách Kích hoạt hoặc Chọn một Trang tính

Bài viết này sẽ thảo luận về đối tượng ActiveSheet trong VBA. Nó cũng sẽ thảo luận về cách kích hoạt, chọn và đi tới Trang tính (và nhiều hơn nữa). Đọc Hướng dẫn trang tính VBA đầy đủ của chúng tôi để biết thêm thông tin về cách làm việc với trang tính trong VBA.

Bảng hoạt động

Trong VBA, ActiveSheet đề cập đến Trang tính hiện đang hoạt động. Chỉ một Trang tính có thể hoạt động tại một thời điểm.

Kích hoạt Trang tính (Thiết lập Trang tính Hoạt động)

Để đặt ActiveSheet, hãy sử dụng Worksheet. Kích hoạt:

1 Trang tính ("Đầu vào"). Kích hoạt

Lệnh Kích hoạt Trang tính sẽ thực sự “đi đến” trang tính, thay đổi Trang tính hiển thị.

Ví dụ trên sử dụng tên Trang tính (Tab). Thay vào đó, bạn có thể sử dụng tên mã VBA cho trang tính:

1 Sheet1.Activate

Tên trang tính hoạt động

Để lấy Tên ActiveSheet:

1 msgbox ActiveSheet.name

Trang tính đã chọn so với Trang tính hoạt động

Tại bất kỳ thời điểm nào, chỉ có một Trang tính có thể là Trang tính Hoạt động. Tuy nhiên, có thể chọn nhiều Trang tính cùng một lúc.

Khi nhiều Trang tính được chọn, chỉ Trang tính “cao nhất” mới được coi là đang hoạt động (Bảng hoạt động).

Chọn trang tính

Nếu bạn muốn chọn một trang tính thay vì kích hoạt nó. Sử dụng .Select để thay thế.

Chọn trang tính theo tên tab

Thao tác này sẽ chọn một Trang tính dựa trên Tên tab Trang tính của nó

1 Trang tính ("Đầu vào"). Chọn

Chọn trang tính theo số chỉ mục

Thao tác này sẽ chọn một Trang tính dựa trên vị trí của nó so với các tab khác

1 Trang tính (1). Chọn

Chọn trang tính với tên mã VBA

1 Sheet1.Select

Việc chọn trang tính theo tên mã có thể ngăn ngừa lỗi do thay đổi tên trang tính.

Chọn trang tính hiện tại

Để chọn Trang tính hiện tại, hãy sử dụng đối tượng Trang tính Hoạt động:

1 ActiveSheet.Select

Thêm Kích hoạt / Chọn Ví dụ về Trang tính

Đặt ActiveSheet thành Biến

Thao tác này sẽ gán ActiveSheet cho một Biến Đối tượng Trang tính.

123 Dim ws As WorksheetĐặt ws = ActiveSheet

Thay đổi tên ActiveSheet

Điều này sẽ thay đổi Tên ActiveSheet.

1 ActiveSheet.Name = "NewName"

Với ActiveSheet

Sử dụng With Statement cho phép bạn sắp xếp hợp lý mã của mình khi làm việc với các đối tượng (chẳng hạn như Sheets hoặc ActiveSheet).

12345 Với ActiveSheet.Name = "StartFresh".Cells.Clear.Range ("A1"). Giá trị = .NameKết thúc với

Lưu ý rằng bạn không cần lặp lại “ActiveSheet” trước mỗi dòng mã. Đây có thể là một tiết kiệm thời gian rất lớn khi làm việc với một danh sách dài các lệnh.

Lặp qua các trang tính đã chọn

Macro sau sẽ Vòng qua tất cả các trang tính đã chọn, hiển thị tên của chúng.

12345678 Sub GetSelectedSheetsName ()Dim ws As WorksheetĐối với mỗi ws Trong ActiveWindow.SelectedSheetsMsgBox ws.NameTuần tiếp theoKết thúc Sub

GoTo Trang tiếp theo

Mã này sẽ chuyển đến Trang tính tiếp theo. Nếu ActiveSheet là Trang tính cuối cùng, thì nó sẽ chuyển đến Trang tính đầu tiên trong Sổ làm việc.

12345 If ActiveSheet.Index = Worksheets.Count ThenTrang tính (1). Kích hoạtKhácActiveSheet.Next.ActivateKết thúc nếu

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