Vòng lặp trong VBA Excel

Bích Trâm

Bích Trâm

Tác giả bài viết

Ngày đăng

Wednesday 22/03/2023 - 02:38

Featured blog post

Vòng lặp trong VBA Excel

I. Vòng lặp trong VBA Excel là gì ?

Trong VBA Excel, vòng lặp (Loop VBA) là một công cụ lập trình cho phép thực hiện một tập hợp các câu lệnh một cách lặp đi lặp lại cho đến khi điều kiện nào đó được thỏa mãn. Vòng lặp được sử dụng để thực hiện các tác vụ lặp lại trên các dữ liệu giống nhau hoặc đa dạng, giúp tăng tốc độ xử lý và cải thiện hiệu suất của chương trình.

Các loại vòng lặp trong VBA gồm có: For loop, Do While loop, Do Until loop, For Each loop. Các loại vòng lặp này cho phép lặp lại một tập hợp các câu lệnh theo một số lần cụ thể, hoặc cho đến khi một điều kiện cụ thể được thỏa mãn.

Các vòng lặp thường được sử dụng để thực hiện các tác vụ như đọc và xử lý dữ liệu từ bảng tính Excel, tìm kiếm và sửa đổi các giá trị trong các mảng, lặp lại việc thực hiện các tác vụ cho đến khi một điều kiện nào đó được thỏa mãn, và nhiều tác vụ khác nữa.

II. Các loại vòng lặp trong VBA Excel. Nêu khái niệm, ví dụ, mục đích sử dụng và giải thích từng mã code của các loại vòng lặp trong VBA Excel

1. For Loop:

For Loop là loại vòng lặp thường được sử dụng để thực hiện một tập hợp các câu lệnh một số lần cụ thể, được xác định trước bởi số lần lặp lại hoặc một biến. Cấu trúc For Loop như sau:

For counter = start To end [Step step]

    'statements

Next [counter]

  • Counter: biến sử dụng để đếm số lần lặp
  • Start: giá trị ban đầu của biến đếm
  • End: giá trị kết thúc của biến đếm
  • Step: giá trị tăng của biến đếm trong mỗi lần lặp lại (mặc định là 1 nếu không được chỉ định)

Ví dụ sử dụng For Loop:

for(int i=0;i<5;i++){

    cout<<"Hello world\n";

}

  • Mục đích sử dụng:

Vòng lặp for được sử dụng khi chúng ta muốn thực hiện một hành động lặp đi lặp lại một số lần cụ thể, hoặc thực hiện một hành động trên một danh sách các phần tử.

  • Giải thích các thuật ngữ mã code:
    • int i=0: khai báo và khởi tạo biến đếm i bằng 0.
    • i<5: điều kiện để tiếp tục lặp, lặp cho đến khi biến i không còn thỏa mãn điều kiện này.
    • i++: tăng giá trị biến i lên 1 sau mỗi lần lặp.

2. Do-While Loop:

Do-While Loop là loại vòng lặp được sử dụng để thực hiện một tập hợp các câu lệnh cho đến khi điều kiện nào đó được thỏa mãn. Vòng lặp Do-While Loop như sau:

Do While condition

    'statements

Loop

  • Condition: là điều kiện kiểm tra trước mỗi lần lặp lại

Ví dụ sử dụng Do-While Loop:

int num;

do {

    cout << "Enter a number: ";

    cin >> num;

    cout << "The number you entered is " << num << endl;

} while (num != 0);

  • Mục đích sử dụng:

Vòng lặp Do-while được sử dụng để thực hiện một khối lệnh ít nhất một lần, sau đó lặp lại khối lệnh cho đến khi một điều kiện lặp được thỏa mãn.

  • Giải thích các thuật ngữ mã code:
    • int num: khai báo biến num để lưu giá trị nhập vào từ bàn phím.
    • do: bắt đầu của khối lệnh được lặp.
    • while(num!=0): điều kiện để tiếp tục lặp, lặp cho đến khi biến num khác 0.

  3. Do Until Loop:

Do Until loop là một kiểu vòng lặp trong lập trình mà vòng lặp sẽ được thực hiện ít nhất một lần trước khi kiểm tra điều kiện. Vòng lặp sẽ tiếp tục thực hiện cho đến khi điều kiện được xác định là True. Vòng lặp Do Until tương tự như vòng lặp Do While, tuy nhiên, nó thực hiện lặp lại khối mã trong khi một điều kiện cụ thể sai.

Cú pháp của vòng lặp Do Until như sau:

Do Until (condition)

    ' Code to be executed

Loop

Ví dụ sử dụng Do-Until Loop:

Dim i As Integer

i = 1

Do Until i = 5

    MsgBox i

    i = i + 1

Loop

  • Mục đích sử dụng:

Vòng lặp Do Until được sử dụng để lặp lại các câu lệnh cho đến khi điều kiện được đưa ra là True.

  • Giải thích các thuật ngữ mã code:
    • Do Until: đây là từ khóa bắt đầu vòng lặp Do Until.
    • i = 1: khai báo biến i với giá trị ban đầu là 1.
    • MsgBox i: hiển thị giá trị của biến i.
    • i = i + 1: tăng giá trị của biến i lên 1 đơn vị sau mỗi lần lặp.
    • Loop: kết thúc vòng lặp Do Until

4. For Each loop:

For Each loop là một kiểu vòng lặp trong lập trình mà cho phép lặp lại một tập hợp các đối tượng, ví dụ như các phần tử trong mảng hoặc các phần tử trong một tập hợp.

Ví dụ sử dụng For Each loop:

Dim arr() As Integer = {1, 2, 3, 4, 5}

For Each element As Integer In arr

       MsgBox element

Next

  • Mục đích sử dụng:

For Each loop được sử dụng để lặp lại các phần tử trong một tập hợp, giúp cho việc xử lý và thao tác trên từng phần tử trở nên dễ dàng hơn.

  • Giải thích các thuật ngữ mã code:
    • Dim arr() As Integer = {1, 2, 3, 4, 5}: khai báo một mảng gồm các số nguyên.
    • For Each element As Integer In arr: bắt đầu vòng lặp For Each, element là biến tạm thời để lưu trữ giá trị của các phần tử trong mảng arr.
    • MsgBox element: hiển thị giá trị của biến element.
    • Next: kết thúc vòng lặp For Each.