Karthi lưu ý rằng anh ấy thường cần sử dụng Go To Special để chỉ chọn các ô hiển thị trong vùng chọn. Điều này khiến anh ta tự hỏi liệu có cách nào mà các ô như vậy có thể được chọn trong macro hay không.

Có rất nhiều cách mà chỉ các ô hiển thị có thể được chọn mà không cần macro, nhưng những cách đó sẽ không được đưa vào đây. Giả định là bạn muốn chọn các ô hiển thị như một phần của macro lớn hơn mà bạn có thể đang tạo. Ví dụ: bạn có thể cần phải chọn các ô hiển thị trước khi thực hiện một số loại định dạng hoặc trước khi bạn xử lý các ô theo một số cách khác.

Để chỉ chọn các ô hiển thị từ một loạt các ô đã chọn, bạn có thể sử dụng dòng mã sau:

Selection.SpecialCells(xlCellTypeVisible).Select

Nếu bạn cần làm việc trên một số phạm vi ô ban đầu khác trước khi chọn tập hợp con hiển thị của các ô đó, tất cả những gì bạn cần làm là thay đổi phần “Lựa chọn” của dòng. Ví dụ: bạn có thể chọn các ô hiển thị trong phạm vi được sử dụng của trang tính bằng cách sử dụng dòng này:

ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Select

Tương tự, bạn có thể chọn tất cả các ô hiển thị trên toàn bộ trang tính bằng cách sử dụng dòng này:

Cells.SpecialCells(xlCellTypeVisible).Select

Hãy nhớ rằng các kỹ thuật được mô tả cho đến nay chọn tất cả các ô có thể nhìn thấy, ngay cả khi chúng nằm ngoài màn hình. Nói cách khác, các kỹ thuật chọn bất kỳ ô nào không bị ẩn trong trang tính. Nếu bạn thực sự muốn chỉ chọn những ô không ẩn hiển thị trên màn hình tại thời điểm hiện tại, thì bạn có thể sử dụng một kỹ thuật khác:

Intersect(MyRange, ActiveWindow.VisibleRange).SpecialCells(xlCellTypeVisible)

Mã bắt đầu bằng cách chỉ chọn những ô mà một phạm vi nhất định (trong trường hợp này là “MyRange”) giao với phạm vi ô hiển thị trong cửa sổ đang hoạt động. Các ô này được xác định rõ hơn bằng cách sử dụng bộ sưu tập SpecialCells để đảm bảo rằng chỉ các ô không ẩn mới được sử dụng.

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