Dưới đây chúng ta sẽ xem xét một chương trình lặp qua một phạm vi xác định.

Ví dụ, khi chúng ta muốn bình phương các số trong Range (“A1: A3”). Bạn có biết rằng bạn cũng có thể lặp lại qua một liên kết: / vba -amples-dynamic-range [dynamic range] không? Tình huống:

Loop through Defined Range in Excel VBA

Đặt một nút lệnh trên trang tính của bạn và thêm các dòng mã sau:

  1. Đầu tiên, chúng ta khai báo hai đối tượng Range. Chúng tôi gọi các đối tượng Range là rng và ô.

Dim rng As Range, cell As Range
  1. Chúng ta khởi tạo đối tượng Range rng với Range (“A1: A3”).

Set rng = Range("A1:A3")
  1. Thêm vòng lặp For Each Next.

For Each cell In rng

Next cell

Lưu ý: rng và ô được chọn ngẫu nhiên ở đây, bạn có thể sử dụng bất kỳ tên nào.

Hãy nhớ tham khảo những tên này trong phần còn lại của mã của bạn.

  1. Tiếp theo, chúng tôi bình phương mỗi ô trong phạm vi này. Để đạt được điều này, hãy thêm dòng mã sau vào vòng lặp:

cell.Value = cell.Value * cell.Value

Kết quả khi bạn bấm vào nút lệnh trên sheet:

Loop through Defined Range Result

  1. Nếu bạn muốn kiểm tra từng ô trong phạm vi được chọn ngẫu nhiên, chỉ cần thay thế:

Set rng = Range("A1:A3")

với:

Set rng = Selection
  1. Bây giờ, chọn Range (“A1: A2”).

Loop through Selection in Excel VBA

Kết quả khi bạn bấm vào nút lệnh trên sheet:

Loop through Selection Result