/ / Cách sử dụng Vòng lặp Do-While trong Excel VBA

Cách sử dụng Vòng lặp Do-While trong Excel VBA

Vòng lặp là một phần không thể thiếu của bất kỳ ngôn ngữ mã hóa nào và bạn có thể tự động hóa nhiều tác vụ lặp đi lặp lại bằng cách sử dụng nhiều vòng lặp khác nhau, tùy thuộc vào ngôn ngữ hiện có. VBA của Excel không khác với các VBA khác vì nó cung cấp một loạt các tùy chọn lặp, mỗi tùy chọn phục vụ một mục đích khác nhau.


Bạn có thể sử dụng các vòng lặp này bằng cách xác định điểm bắt đầu và điểm kết thúc, (các) điều kiện và tham số. Một vòng lặp nổi bật như vậy trong VBA là vòng lặp do-while mà bạn có thể sử dụng để làm việc với tự động hóa dữ liệu. Dưới đây là cách sử dụng vòng lặp do-while của Excel VBA, một phương pháp lặp vô cùng cần thiết, có thể đơn giản hóa rất nhiều tác vụ thủ công của bạn.


Vòng lặp Do-While trong Excel VBA là gì?

Vòng lặp do-while khá đơn giản; bạn có thể sử dụng vòng lặp này để thực hiện đặt giá thầu nếu bạn muốn tạo đầu ra mong muốn dựa trên một điều kiện cụ thể. Vòng lặp thực hiện cho đến khi (các) điều kiện được xác định là True. Khi chương trình gặp giá trị Sai, vòng lặp sẽ kết thúc và in kết quả trong các ô được chỉ định.

Bạn có thể sử dụng vòng lặp do-while trong các giai đoạn khác nhau và với các tiêu chí khác nhau; bạn thậm chí có thể sử dụng nhiều vòng lặp bên trong vòng lặp chính bên ngoài để nâng cao khả năng sử dụng của nó. Là người mới bắt đầu, bạn nên tham khảo các hướng dẫn lập trình VBA phức tạp để nâng cao kiến ​​thức và kỹ năng của mình trong lĩnh vực này.

Cú pháp của Vòng lặp Do-While trong Excel VBA

Vòng lặp do-while có cấu trúc được xác định trước, bạn cần tuân theo cấu trúc này để đảm bảo nó hoạt động trơn tru mà không phát sinh lỗi. Đây là cú pháp để tham khảo:

 Do while [condition_reference]

[Criteria statements]

Loop

Vòng lặp bắt đầu bằng từ khóa do-while, theo sau là tham chiếu bắt đầu và kết thúc. Phần đầu tiên của cú pháp kiểm soát toàn bộ vòng lặp. Tiếp theo, bạn cần xác định các câu lệnh sẽ thực thi mỗi khi vòng lặp chạy.

Cuối cùng, khi điều kiện vòng lặp phát sinh giá trị Sai, từ khóa vòng lặp sẽ thực thi và thoát khỏi vòng lặp. Đây là một cấu trúc tổng thể; bạn có thể tinh chỉnh nó để thực hiện các hành động khác nhau. Dưới đây là một số ví dụ để bạn làm quen với hoạt động của vòng lặp do-while.

Viết mã vòng lặp Do-While đầu tiên của bạn

Giả sử bạn muốn hiển thị bội số của hai trong cột A. Điều kiện là in các số cho đến khi bộ đếm đạt 20.

Để làm như vậy, hãy điều hướng đến tab Nhà phát triển trên Excel của bạn và mở trình chỉnh sửa mã hóa; cách khác, nhấn Tổ hợp phím + F11 để mở trực tiếp trình chỉnh sửa mã hóa. Trong cửa sổ soạn thảo mã, bấm vào nút Chèn tab và thêm một mô-đun mới.

Bạn cần viết tất cả mã trong cửa sổ mô-đun này. Thêm mã sau vào bên trong mô-đun:

 Sub dowhileloop()

Dim a As Integer

a = 1

Do While a <= 10

Cells(a, 1) = 2 * a

a = a + 1

Loop

End Sub

Khối mã trong trình soạn thảo mã hóa của VBA

Mã giải thích

Dưới đây là bảng phân tích mã để giúp bạn nắm vững kiến ​​thức cơ bản:

  • Sử dụng quy trình phụ: Để bắt đầu viết mã trong Excel VBA, hãy tạo một lớp vỏ bên ngoài có chức năng thường trình con (Sub). Đặt cho nó một cái tên có ý nghĩa, phù hợp với mục đích của mã. Trong ví dụ này, bạn có thể sử dụng tên dowhileloop, theo sau là ().
  • Xác định kiểu dữ liệu: Hàm thứ nguyên (dim) phải được sử dụng để khai báo các kiểu dữ liệu biến. Bằng cách khai báo kiểu dữ liệu, bạn có thể làm cho mã của mình hiệu quả và cải thiện tốc độ thực thi. Trong trường hợp này, biến Một lưu trữ các giá trị số nguyên, vì vậy hãy sử dụng kiểu dữ liệu số nguyên để xác định nó. Bạn có thể lưu trữ số hàng bắt đầu trong biến này, để khai báo điểm dữ liệu bắt đầu của vòng lặp do-while.
  • Xác định (các) Điều kiện: Bây giờ, đã đến lúc chuyển điều kiện để điều khiển vòng lặp do-while. Bạn có thể dùng làm trong khi từ khóa, theo sau là điều kiện. Vì bạn muốn chạy vòng lặp mười lần, bạn sử dụng điều kiện a < = 10.
  • Vượt qua các câu lệnh thực thi: Điều quan trọng là bạn phải biết sự khác biệt giữa hàm Cells và hàm Range trong VBA. Hàm ô sử dụng tham chiếu hàng và cột trong VBA. Ví dụ: trong lần lặp đầu tiên, khi giá trị của a = 1, công thức ô là (1,1). Trong bộ nhớ của VBA, điều này chuyển thành ô A1. Mỗi khi vòng lặp thực thi, giá trị của biến đã xác định sẽ tăng lên và tham chiếu sẽ di chuyển đến ô có sẵn tiếp theo.
  • Tăng biến của bạn: Bạn có thể vượt qua a = a + 1 câu lệnh để tăng các giá trị ô. Thao tác này sẽ chuyển vòng lặp sang phần tiếp theo của điều kiện; vòng lặp tiếp tục chạy cho đến khi điều kiện phát sinh giá trị Sai.
  • Thoát khỏi điều kiện Vòng lặp: Khi điều kiện là Sai, vòng lặp sẽ thoát với từ khóa Loop và cuối cùng, nó sẽ thoát khỏi quy trình con với từ khóa End Sub.
  • Thực thi mã: Vì mã đã sẵn sàng, chỉ cần nhấn nút phím F5 hoặc nút phát màu xanh lục trên thanh menu trên cùng để thực thi mã.

Kết quả cuối cùng hiển thị danh sách các số từ 2-20 trong cột A.

Sử dụng Cột được điền trước làm Điều kiện vòng lặp

Bây giờ bạn đã hiểu cú pháp và các sắc thái của việc xây dựng cấu trúc cơ bản, tại sao không viết một mã khác để in các số tương tự dựa trên các tiêu chí có sẵn? Ví dụ: bạn có thể tạo một điều kiện vòng lặp chọn tín hiệu của nó từ cột A và in kết quả ra ở cột B.

Dựa trên tổng số ô được điền trong cột A, bạn có thể in bội số của hai trong cột B. Vòng lặp chạy cơ sở tổng số ô được điền trước của cột A. Vì giá trị hàng bắt đầu là một (a = 1), nên giá trị kết thúc là giá trị động và được vòng lặp do-while tự động tính toán.

Mã VBA để chạy vòng lặp do-while trong Excel

Sử dụng giá trị hàng của nó, mã lặp qua từng ô trong cột A và nhân số đó với 2. Kết quả được hiển thị trong cột B.

Giao diện sheet excel hai cột dữ liệu

Nếu có nhiều hơn mười giá trị trong cột A, vòng lặp sẽ chạy cho đến khi nó gặp một giá trị trống trong cột đầu tiên. Tương tự, bạn có thể viết các điều kiện thậm chí phức tạp hơn trong vòng lặp do-while và sử dụng nó để kiểm tra các điều kiện và hiển thị đầu ra khi cần.

Sử dụng câu lệnh IF trong vòng lặp Do-While

Giống như các vòng lặp lồng nhau, bạn có thể sử dụng câu lệnh IF trong vòng lặp Do-While để thêm một lớp điều kiện khác. Trong trường hợp như vậy, vòng lặp do-while sẽ chạy toàn bộ vòng lặp cho đến khi điều kiện là Sai và câu lệnh IF bên trong sẽ thực thi mỗi khi vòng lặp chạy.

Trong ví dụ dưới đây, vòng lặp do-while chạy qua từng ô trong cột A, cho đến khi nó gặp một ô trống. Sau đó, câu lệnh IF kiểm tra giá trị của từng ô trong cột A và in kết quả ra trong cột B. Ngay khi vòng lặp bên ngoài gặp một ô trống trong cột A, vòng lặp sẽ dừng và thoát khỏi quy trình phụ.

Mã VBA sử dụng điều kiện IF trong vòng lặp do-while

Đầu ra như sau:

Giao diện sheet excel 2 hàng xuất dữ liệu

Cho đến khi giá trị trong cột A nhỏ hơn năm, giá trị kết quả trong cột B là năm. Trong ô A6, vì giá trị ô lớn hơn 5 nên kết quả đầu ra là 7, tức là đồng bộ với điều kiện IF.

Làm sáng tỏ các chức năng đa diện của VBA

Excel và VBA tạo thành một sự kết hợp rất thuận lợi để thực hiện phân tích dữ liệu nâng cao. Ngay cả khi không có VBA, bạn vẫn có thể sử dụng các hàm logic khác nhau của Excel để thực hiện các tác vụ phức tạp, thể hiện kỹ năng lập trình của bạn.

Nếu bạn quan tâm đến phân tích dữ liệu và sử dụng Excel trong các hoạt động thường xuyên của mình, thì bạn có thể hưởng lợi rất nhiều từ việc sử dụng các hàm logic nhiều mặt của Excel.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *