Hiển thị Trang tính đầu tiên trong Macro (Microsoft Excel)
Terri có một macro chạy tự động khi một trang tính được mở.
Một điều nó làm là hiển thị trang tính đầu tiên trong sổ làm việc, thường được gọi là “Hợp nhất”. Điều này hoạt động tốt, trừ khi trang tính đầu tiên không có tên này. Sau đó, Terri phải nhớ thay đổi macro để chỉ định một tên trang tính khác. Cô ấy tự hỏi nếu có cách nào để viết macro của mình để trang tính đầu tiên luôn được hiển thị, bất kể tên của nó là gì?
Thông thường, như Terri ám chỉ, bạn sẽ hiển thị một trang tính nhất định bằng cách sử dụng tên của nó trong câu lệnh, theo cách sau:
Worksheets("Consolidated").Activate
Điều này hoạt động tốt, miễn là có một trang tính có tên này (Hợp nhất) trong sổ làm việc. Hiển thị một trang tính cụ thể (như trang tính đầu tiên trong sổ làm việc) khi bạn không biết tên của trang tính đó có thể là gì thì có một cách tiếp cận khác.
Câu trả lời đơn giản là bắt đầu tham chiếu đến trang tính bằng cách sử dụng vị trí của nó trong bộ sưu tập Trang tính. Tất cả các trang tính trong sổ làm việc đều thuộc về một tập hợp các đối tượng trang tính. Bộ sưu tập này (đủ kỳ lạ) được gọi là bộ sưu tập Trang tính. Bạn có thể tham chiếu đến một trang tính riêng lẻ trong bộ sưu tập theo tên (như đã được thực hiện trong ví dụ trước) hoặc bạn có thể tham khảo chúng bằng cách sử dụng số chỉ mục trong bộ sưu tập. Ví dụ: bạn có thể kích hoạt trang tính đầu tiên trong bộ sưu tập theo cách sau:
Worksheets(1).Activate
Sử dụng phương pháp này, nó thực sự không quan trọng tên của trang tính đầu tiên là gì; nó có thể dễ dàng là “Hợp nhất” hoặc một số tên khác.
Excel sẽ kích hoạt trang tính đầu tiên trong sổ làm việc một cách nghiêm túc.
Lần duy nhất điều này không hoạt động là nếu trang tính đầu tiên trong sổ làm việc của bạn bị ẩn. Nếu trang tính không hiển thị, thì Excel tự động (sau khi thực hiện câu lệnh này) hiển thị trang tính hiển thị đầu tiên.
Lưu ý rằng điều này hiển thị tab trang tính đầu tiên (ngoài cùng bên trái) trong sổ làm việc. Thay vào đó, nếu bạn muốn hiển thị trang tính được tạo đầu tiên trong sổ làm việc, bất kể vị trí của nó, bạn có thể thử một cách tiếp cận khác. Mỗi trang tính có (vì thiếu một thuật ngữ tốt hơn) một “tên mã” đằng sau. Những tên mã này nghe có vẻ quen thuộc; chúng là Sheet1, Sheet2, Sheet3, v.v. Những tên này được giữ lại mặc dù bạn có thể thay đổi tên của chính trang tính hoặc thay đổi vị trí của các tab. Nếu bạn muốn hiển thị trang tính đầu tiên được tạo (một lần nữa, bất kể vị trí), bạn có thể thử như sau:
Sheet1.Activate
Có một cảnh báo cho điều này: Có thể tên mã cho trang tính của bạn đã bị thay đổi, nếu bạn viết mã lập trình để làm như vậy.
Nếu đúng như vậy thì câu lệnh trên có thể không mang lại kết quả mong muốn. (Kiểm tra luôn là một ý kiến hay.)
_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 (12272) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.
Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: