Cách sử dụng thuộc tính usedRange của VBA trong Excel (4 cách)

  • Chia Sẻ Cái Này
Hugh West

Trong bài viết này, tôi sẽ chỉ cho bạn cách bạn có thể sử dụng thuộc tính UsedRange của VBA trong Excel. Bạn sẽ học cách sử dụng thuộc tính UsedRange cho một phạm vi khép kín, cho một phạm vi rải rác, cho một trang tính không hoạt động và cả cho một sổ làm việc không hoạt động.

Tải xuống Sách bài tập thực hành

Tải xuống sổ làm việc này để thực hành khi bạn đang đọc bài viết này.

Excel VBA usedRange.xlsm

Giới thiệu về thuộc tính UsedRange của VBA trong Excel

Thuộc tính UsedRange của VBA trả về một đối tượng Range . Nó trả về một phạm vi bao gồm tất cả các ô trong một trang tính đã được sử dụng bao gồm cả một hàng trống ở đầu.

Trong mã VBA , thuộc tính UsedRange được sử dụng cùng với tên trang tính. Vì vậy, cú pháp phổ biến để sử dụng thuộc tính UsedRange cho trang tính đang hoạt động là:

Dim Rng As Range

Set Rng = ActiveSheet.UsedRange

Ghi chú:

  • Đây Rng là tên của Phạm vi được trả về bởi thuộc tính Phạm vi sử dụng . Bạn có thể sử dụng bất cứ thứ gì bạn thích.
  • Để sử dụng thuộc tính UsedRange trong một trang tính khác với trang tính đang hoạt động, hãy sử dụng tên của trang tính để thay thế.

Ví dụ: để áp dụng nó trong trang tính có tên Sheet1 , hãy chèn:

Set Rng = Worksheets("Sheet1").UsedRange

4 Ways để sử dụng thuộc tính usedRange của VBA trong Excel

Dưới đây là 4 phổ biến nhấtcách sử dụng thuộc tính UsedRange trong VBA .

1. Thuộc tính VBA usedRange cho phạm vi đã đóng

Trước hết, chúng ta sẽ sử dụng thuộc tính VBA usedRange cho một trang tính có phạm vi đã đóng.

Nó' sẽ trả về toàn bộ phạm vi bao gồm một hàng trống ở đầu.

Ở đây chúng tôi có một trang tính có tên Sheet1 chứa một phạm vi đóng bao gồm tên, ngày tham gia và mức lương của một số nhân viên của một công ty.

Bây giờ nếu bạn sử dụng thuộc tính UsedRange trên trang tính này, nó sẽ trả về phạm vi B2:C13 (Bao gồm một hàng trống ở đầu).

Nếu Sheet1 đang hoạt động, bạn có thể sử dụng:

Dim Rng As Range

Set Rng = ActiveSheet.UsedRange

Hoặc bạn có thể sử dụng:

Dim Rng As Range

Set Rng = Worksheets("Sheet1").UsedRange

Đầu ra :

Chúng tôi đã sử dụng thuộc tính Select của Phạm vi trong mã. Vì vậy, nếu chúng tôi chạy mã, mã sẽ chọn phạm vi B2:D13 của Sheet1 .

Đọc thêm: Cách sử dụng đối tượng phạm vi của VBA trong Excel (5 thuộc tính)

2. Thuộc tính VBA usedRange cho một phạm vi phân tán

Nếu bạn có một phạm vi phân tán trong bất kỳ trang tính nào, thuộc tính UsedRange sẽ trả về một phạm vi bao gồm các ô trống ở giữa.

Bây giờ, trong Sheet1 , chúng tôi có tổng lương, lương cao nhất và lương thấp nhất nằm rải rác ở nhiều nơi khác nhau, từ ô B3 đến G3 ,  như sau:

Bây giờ, hãy sử dụng bất kỳ dòng nào trong hai dòng mã để sử dụng thuộc tính UsedRange .

Dim Rng As Range

Set Rng = ActiveSheet.UsedRange

Hoặc

Dim Rng As Range

Set Rng = Worksheets("Sheet1").UsedRange

Đầu ra:

Nó trả về tất cả các ô trong phạm vi B2:G3 của Sheet1 bao gồm các ô trống (Bao gồm một hàng trống ở đầu). Vì chúng ta đã sử dụng thuộc tính Select của Range nên thuộc tính này sẽ chọn dải ô B2:G3.

Đọc thêm: Kết thúc một dãy sử dụng VBA trong Excel (Có ví dụ)

Các bài đọc tương tự

  • Sao chép phạm vi VBA Excel sang một trang tính khác (8 cách dễ nhất)
  • Lặp qua một phạm vi cho từng ô bằng VBA Excel (Ultimate Hướng dẫn)
  • Lỗi Subscript Out of Range của Excel trong VBA (với 5 giải pháp)

3. Thuộc tính VBA usedRange cho một trang tính không hoạt động

Nếu chúng ta muốn thực hiện thuộc tính UsedRange trên một trang tính không hoạt động, bạn phải đề cập đến tên của trang tính ngay từ đầu.

Ví dụ, ở đây trang tính đang hoạt động của tôi là Sheet1 .

Để sử dụng thuộc tính UsedRange trong Sheet2 , chúng ta phải sử dụng :

Dim Rng As Range

Set Rng = Worksheets("Sheet2").UsedRange

Nó' sẽ chọn tất cả các ô đã sử dụng trong trang tính có tên Sheet2 .

Đọc thêm: VBA để đặt phạm vi trong Excel (7 ví dụ)

4.Thuộc tính VBA usedRange cho sổ làm việc không hoạt động

Bạn thậm chí có thể sử dụng thuộc tính UsedRange cho sổ làm việc không hoạt động. Chỉ cần đặt tên của sổ làm việc ở phía trước.

Ví dụ: ở đây sổ làm việc đang hoạt động của tôi là Workbook1 . Để thực hiện thuộc tính UsedRange trên Sheet1 của Workbook2 , chúng ta phải sử dụng:

Dim Rng As Range

Set Rng = Workbooks("Workbook2.xlsm").Worksheets("Sheet1").UsedRange

Nó sẽ chọn phạm vi được sử dụng của trang tính Sheet1 của Workbook2 .

Đọc thêm: VBA cho từng ô trong phạm vi trong Excel (3 phương pháp)

Những điều cần nhớ

Thuộc tính UsedRange của VBA trả về đối tượng Range . Ở đây trong bài viết này, chúng tôi đã sử dụng thuộc tính Select của Range object để trực quan hóa. Nhưng rõ ràng, bạn có thể sử dụng bất kỳ thuộc tính nào khác của Phạm vi tùy theo sự thuận tiện của mình.

Kết luận

Sử dụng các phương pháp này, bạn có thể sử dụng thuộc tính UsedRange trong Excel. Bạn có câu hỏi nào không? Vui lòng hỏi chúng tôi.

Hugh West là một nhà phân tích và huấn luyện viên Excel giàu kinh nghiệm với hơn 10 năm kinh nghiệm trong ngành. Ông có bằng Cử nhân Tài chính Kế toán và bằng Thạc sĩ Quản trị Kinh doanh. Hugh có niềm đam mê giảng dạy và đã phát triển một phương pháp giảng dạy độc đáo, dễ hiểu và dễ theo dõi. Kiến thức chuyên môn về Excel của ông đã giúp hàng nghìn sinh viên và chuyên gia trên toàn thế giới cải thiện kỹ năng và xuất sắc trong sự nghiệp của họ. Thông qua blog của mình, Hugh chia sẻ kiến ​​thức của mình với mọi người, cung cấp các hướng dẫn Excel miễn phí và đào tạo trực tuyến để giúp các cá nhân và doanh nghiệp phát huy hết tiềm năng của họ.