VBA cho tiếp theo - Hướng dẫn sử dụng Excel VBA cho câu lệnh tiếp theo

Excel VBA cho vòng lặp tiếp theo

Vòng lặp VBA For Next là một vòng lặp được sử dụng trong số tất cả các ngôn ngữ lập trình, trong vòng lặp này có một tiêu chí sau câu lệnh for mà mã lặp lại trong vòng lặp cho đến khi đạt đến tiêu chí và khi đạt đến tiêu chí thì câu lệnh tiếp theo chỉ thị quy trình sang bước tiếp theo của mã.

Vòng lặp “For Next” là một trong những vòng lặp được sử dụng rất thường xuyên hơn các vòng lặp khác trong mã hóa VBA. Các vòng lặp sẽ giúp chúng ta lặp lại cùng một loại nhiệm vụ cho các ô được chỉ định cho đến khi điều kiện là ĐÚNG.

FOR LOOP lặp qua phạm vi ô và thực hiện một tác vụ cụ thể cho đến khi điều kiện là ĐÚNG. Ví dụ: nếu bạn muốn lặp qua 10 ô đầu tiên và chèn các số sê-ri tăng lên 1, bạn có thể sử dụng vòng lặp FOR NEXT.

Vòng lặp này cần một biến để chạy vòng lặp. Sử dụng biến này, chúng tôi có thể tham chiếu động các ô.

Nó bao gồm ba tham số.

Đối với câu lệnh = Điểm bắt đầu đến điểm kết thúc (Thực hiện một số tác vụ) Câu lệnh tiếp theo

Từ điểm bắt đầu, vòng lặp sẽ bắt đầu và thực hiện một số tác vụ sau khi kết thúc tác vụ, nó sẽ chuyển sang vòng lặp tiếp theo và thực hiện lại tác vụ tương tự trong ô khác. Như thế này, cho đến khi nó đạt đến điểm cuối, nó sẽ tiếp tục thực hiện nhiệm vụ được chỉ định.

Cách sử dụng VBA For Next Loop?

Giả sử bạn muốn chèn các số sê-ri từ 1 đến 10 vào các ô A1 đến A10. Tất nhiên, chúng ta có thể chèn như viết mười dòng mã.

Mã:

Sub For_Next_Loop_Example1 () Dải ("A1"). Giá trị = 1 Dải ("A2"). Giá trị = 2 Dải ("A3"). Giá trị = 3 Dải ("A4"). Giá trị = 4 Dải ("A5") .Value = 5 Range ("A6"). Value = 6 Range ("A7"). Value = 7 Range ("A8"). Value = 8 Range ("A9"). Value = 9 Range ("A10") .Value = 10 End Sub

Nhưng nếu tôi muốn chèn 100 số sê-ri thì sao? Tất nhiên, tôi không thể viết 100 dòng mã chỉ để chèn số sê-ri. Đây là nơi xuất hiện vẻ đẹp của vòng lặp “FOR NEXT” . Làm theo các bước dưới đây để thu nhỏ mã.

Bước 1: Đầu tiên, chúng ta cần xác định một biến. Tôi đã khai báo tên biến được gọi là “Serial_Number” là một kiểu dữ liệu số nguyên.

Mã:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Bước 2: Bây giờ tôi yêu cầu áp dụng vòng lặp FOR NEXT, mục tiêu của chúng tôi là chèn các số sê-ri từ 1 đến 10, vì vậy điều này có nghĩa là vòng lặp của chúng tôi phải chạy trong mười lần. Vì vậy, câu lệnh FOR LOOP sẽ như thế này.

Đối với Serial_Number = 1 đến 10

Serial_Number tiếp theo

Mã:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer For Serial_Number = 1 To 10 Next Serial_Number End Sub

Bước 3: Chúng tôi đã áp dụng vòng lặp. Bây giờ khi vòng lặp được áp dụng, chúng ta cần xác định những gì chúng ta phải làm bên trong vòng lặp. Mục tiêu của chúng ta ở đây là chèn các số sê-ri từ 1 đến 10. Vì vậy, hãy viết mã dưới dạng Ô (Serial_Number, 1) .Value = Serial_Number.

Mã:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 To 10 Cell (Serial_Number, 1) .Value = Serial_Number Dim Serial_Number End Sub

Bước 4: Lý do tại sao chúng tôi đã cung cấp Serial_Number trong thuộc tính CELLS vì chúng tôi không thể chỉ định số Hardcore để tham chiếu hàng ở đây. Mỗi khi vòng lặp chạy, tôi muốn chèn số sê-ri mới vào ô mới, không phải trong cùng ô.

Bước 5: Chạy từng dòng mã bằng cách nhấn phím F8.

Bước 6: Đặt con trỏ vào biến Serial_Number; nó hiển thị giá trị hiện tại của Serial_Number.

Tại thời điểm này, giá trị Serial_Number bằng không.

Bước 7: Nhấn phím F8 một lần nữa, màu vàng sẽ chuyển sang dòng mã tiếp theo trong VBA. Bây giờ, hãy đặt con trỏ vào Serial_Number.

Bây giờ giá trị của Serial_Number bằng một vì vòng lặp bây giờ được bắt đầu và vòng lặp của chúng ta bắt đầu từ 1, vì vậy giá trị của biến Serial_Number bằng một.

Một điều thú vị nữa ở đây là biến Serial_Number ở đâu thì biến đó cũng bằng 1.

Vì vậy, trong thuộc tính ô, chúng tôi đã đề cập đến mã là:

Các ô (Serial_Number, 1) .Value = Serial_Number

Điều này có nghĩa là Ô (1, 1) .Value = 1. (Ô (1,1) có nghĩa là Hàng1 & Cột1.

Vì vậy, trong hàng số 1 và cột số 1, giá trị phải là 1.

Bước 8: Bây giờ nhấn F8 một lần nữa và xem điều gì sẽ xảy ra trong Hàng1 & Cột1, tức là ô A1.

Vì vậy, chúng tôi nhận 1 là giá trị, tức là giá trị của Serial_Number.

Bước 9: Bây giờ nhấn phím F8 một lần nữa. Thông thường, mã tiếp theo sẽ được chạy, tức là phần cuối của câu lệnh con. Nhưng ở đây, nó sẽ quay trở lại “dòng trên”.

Bước 10: Hãy nhớ vòng lặp đã hoàn thành lần chạy đầu tiên. Bây giờ nó trở lại lần thứ hai. Bây giờ, hãy đặt con trỏ vào biến Serial_Number và xem giá trị là bao nhiêu.

Bây giờ biến Serial_Number bằng 2 vì vòng lặp đã được trả về lần thứ hai.

Bây giờ, dù Serial_Number ở đâu, đều có giá trị bằng 2. Vì vậy, mã dòng:

Các ô (Serial_Number, 1) .Value = Serial_Number bằng:

Cells (2, 1) .Value = 2. (Cells (2,1) có nghĩa là Row2 & Column1 tức là ô A2).

Bước 11: Chạy mã này và xem giá trị trong ô A2.

Vì vậy, chúng tôi có giá trị số sê-ri thứ hai.

Bước 12: Bây giờ nhấn phím F8. Nó sẽ trở lại dòng trên để lặp lại mã. Lần này giá trị Serial_Number sẽ là 3.

Bước 13: Vì vậy, bất cứ nơi nào Serial_Number là, bằng 3.

Vì vậy, mã dòng: Cells (Serial_Number, 1) .Value = Serial_Number bằng:

Cells (3, 1) .Value = 3. (Cells (3,1) có nghĩa là Row3 & Column1 tức là ô A3).

Bước 14: Nhấn F8 để thực hiện dòng được đánh dấu và xem giá trị trong ô A3.

Bước 15: Bây giờ tiếp tục nhấn F8. Nó sẽ tiếp tục chèn các số sê-ri. Giá trị thời điểm của biến Serial_Number là 10 nó sẽ dừng lặp và thoát khỏi vòng lặp.

thú vị bài viết...