You are on page 1of 69

MỤC LỤC

PHẦN I : KHÁI NIỆM VÀ Ý NGHĨA CỦA VBA TRONG EXCEL ............................... 3


1. VBA là gì ? ............................................................................................................... 3
2. Ý nghĩa ? ................................................................................................................. 11
PHẦN II : CÁC ĐỐI TƯỢNG TRONG VBA EXCEL .................................................... 11
PHẦN III : MỘT SỐ THAO TÁC CƠ BẢN VỚI VBA EXCEL .................................... 12
3.1. Ghi một Macro trong Excel ................................................................................. 12
3.2. Gán một Macro trong Excel ................................................................................ 13
3.3. Chỉnh sửa một Macro trong Excel ....................................................................... 15
3.4. Lưu một Macro trong Excel................................................................................. 17
PHẦN IV: KHÁI NIỆM VỀ PHƯƠNG THỨC , THUỘC TÍNH VÀ HÀM TRONG
VBA ................................................................................................................................... 18
4.1. Khái niệm về phương thức (Methods) trong VBA .............................................. 18
4.2. Khái niệm về thuộc tính (Properties) trong VBA ................................................ 18
4.3. Khái niệm về hàm (Function) trong VBA ........................................................... 18
PHẦN V: CÁC THAO TÁC VỚI CÁC ĐỐI TƯỢNG TRONG EXCEL ....................... 19
5.1. Đối tượng Application ............................................................................................ 19
5.1.1. Các phương thức của đối tượng Application .................................................... 19
5.1.2. Các thuộc tính của đối tượng Application ........................................................ 19
5.2. Đối tượng Workbook .............................................................................................. 23
5.2.1. Các phương thức của đối tượng Workbook...................................................... 24
5.2.2. Các thuộc tính của đối tượng Workbook .......................................................... 27
5.3. Đối tượng Worksheet .............................................................................................. 27
5.3.1. Các phương thức của đối tượng Worksheet ..................................................... 27
5.4. Đối tượng Range ..................................................................................................... 31
5.4.1. Đối tượng Range ............................................................................................... 32
5.4.2. Đối tượng Cells ................................................................................................. 32
5.4.3. Các phương thức của đối tượng Range ............................................................ 34
5.4.4. Các thuộc tính của đối tượng Range ................................................................. 37
PHẦN VI : BIẾN VÀ KHAI BÁO BIẾN TRONG VBA ................................................. 39
6.1. Khái niệm , ý nghĩa và các kiểu biến trong lập trình .............................................. 39
6.1.1. Khái niệm .......................................................................................................... 39
6.1.2. Ý nghĩa .............................................................................................................. 39
6.1.3. Các kiểu biến trong VBA ................................................................................. 40
6.2. Cách khai báo biến trong lập trình VBA................................................................. 42
PHẦN VII: CÂU LỆNH ĐIỀU KIỆN IF VÀ SELECT CASE ........................................ 44
7.1. Câu lệnh If ............................................................................................................... 44
7.1.1. Mệnh đề If ......................................................................................................... 44
7.1.2. Mệnh đề If-else ................................................................................................. 45
7.1.3. Mệnh đề If-elseIf-else ....................................................................................... 46
7.1.4. Mệnh đề If lồng nhau ........................................................................................ 48
7.1.5. Toán tử trong VBA ........................................................................................... 49
7.2. Câu lệnh Select-Case............................................................................................... 52
7.3. Vòng lặp trong VBA ............................................................................................... 61
7.3.1. Vòng lặp For trong VBA .................................................................................. 61
7.3.2. Vòng lặp For-Each trong VBA ......................................................................... 63
7.3.3. Vòng lặp While-Wend trong VBA ................................................................... 64
7.3.4. Vòng lặp Do-While trong VBA ........................................................................ 65
PHẦN I : KHÁI NIỆM VÀ Ý NGHĨA CỦA VBA TRONG EXCEL
1. VBA là gì ?
VBA được viết tắt của cụm từ Visual Basic Application , là một phần của phần mềm kế
thừa của Microsoft, Visual Basic.
Visual là trực quan . Basic là cơ bản . Application là ứng dụng . Có thể hiểu Visual Basic
Application là ứng dụng cơ bản trực quan . VBA được xây dựng để giúp viết chương
trình cho hệ điều hành Windows , là ngôn ngữ lập trình sử dụng để tự động hóa các chức
năng và nhiệm vụ của Microsoft Excel. Do đó người ta gọi cách sử dụng VBA trong
Excel là VBA Excel.
Với tính năng chính của VBA Excel là giúp việc bạn viết các đoạn lệnh, đoạn Code trong
VBA. Khi chạy các đoạn lệnh đó thì máy tính sẽ tự động thực hiện theo những gì đã được
viết.
Cách sử dụng cơ bản VBA :
- Bước 1 : Trong Excel, bấm chuột phải vào Ribbon và chọn mục Customize the
Ribbon..

- Bước 2: Trong cửa sổ Excel Options, chọn thẻ Developer giống như hình.
- Bước 3: Chỉnh sửa Macro Security để có thể chạy file có chứa Excel có chứa
code VBA: trong thẻ Developer > chọn nhóm Code > Bấm Macro Security.

- Bước 4: Chỉnh Macro Security Settings như trong hình.


- Bước 5. Lưu file để tránh mất code.

- Bước 6. Mở trình soạn thảo VBA ra và bắt đầu code: bấm thẻ Developer > Chọn
nút Visual Basic.
- Bước 7: Đây là một cửa sổ soạn thảo VBA, tất cả code sẽ được viết trong cái cửa
sổ này.

- Bước 8: Thêm 1 Module mới vào.


- Bước 9: Vị trí của Module mới và cách đổi tên Module.
- Bước 10: Gõ vài dòng code đầu tiên để thử xem nó hoạt động ra sao.

- Bước 11: Bấm nút chạy thử xem.


- Bước 12: Và đây là kết quả sau khi chạy Macro là 1 thông báo trong Excel như
thế này

Bắt đầu sử dụng VBA Excel bạn cũng cần phải nắm chắc những kiến thức cơ bản về lập
trình VBA excel dưới đây.
 Tạo một macros. Trong VBA excel, ta có thể tự động hóa một nhiệm vụ với nhiều thao
tác bằng cách tạo ra một Macros.
 Msgbox. Khi thực hiện các lệnh trong macros nhiều khi ta muốn thông báo cho người
dùng biết khi họ chuẩn bị, đã thực hiện xong một thao tác nào đó. Hoặc đơn giản chỉ là
cảnh báo việc họ đã nhập sai trường dữ liệu chuẩn.
 Workbook và worksheet object. Đề cập phạm vi áp dụng các lệnh VBA excel trong
toàn bộ workbook hay chỉ đơn thuần trong worksheet.
 Range object. Đối tượng là vùng tương ứng với một ô hoặc vùng ô trong excel. Đây là
đối tượng quan trọng nhất trong lập trình VBA excel.
 Variables. Đây là một loại biến trong trong lập trình excel
 If then statements. Giống như trong excel thông thường bạn dùng hàm if để so sánh xem
điều kiện có thỏa mãn hay không. Thì trong VBA ta cũng có thể làm tương tự với if then
statements.
 Loop. Vòng lặp – đây là một trong những kỹ thuật mạnh mẽ nhất trong lập trình VBA
excel. Vòng lặp cho phép chúng ta lặp lại thao tác trong 1 vùng ô với mấy dòng lệnh đơn
giản.
 Userform. Đây là các nút bấm, box nhập liệu, nhãn… được sử dụng để thiết kế giao diện
giúp giao tiếp với người dùng một cách thân thiện, chuyên nghiệp hơn.
 Events. Sự kiện trong excel là các hành động của người dùng sau đó ta dùng code để
thực hiện các thao tác nào đó sau khi người dùng thực hiện các sự kiện có sẵn.
 Function & sub. Trong excel thì function cho phép trả về một giá trị còn sub thì không.
Ví dụ như: Các bạn có thể sử dụng function để tạo ra một hàm quy đổi số sang chữ.
2. Ý nghĩa ?

Lập trình VBA trong Excel là việc viết ra các dòng/ câu lệnh để máy tự động thực hiện
những thao tác người dùng muốn làm trong Excel. Vì vậy, khi muốn thực hiện một chức
năng nào đó, ta chỉ cần gọi câu lệnh đã được lập trình sẵn bằng VBA thì Excel tự động
thực hiện các thao tác đó một cách nhanh chóng và tiết kiệm rất nhiều thời gian so với
việc thao tác thủ công bằng tay trên Ecxel. Ngoài ra, VBA trong Excel còn cho phép
người dùng tạo các nút lệnh, các trường nhập liệu cơ bản để người sử dụng dễ dàng và
thuận tiện khi thực hiện các thao tác.

Nếu có một thứ gì đó bạn có thể làm trong Excel, bạn có thể viết mã VBA để làm điều
tương tự.
Nếu bạn học các lệnh (sử dụng trình ghi macro hoặc các tài nguyên khác), bạn có thể kết
hợp nhiều hành động lại với nhau trong một macro duy nhất.
Hãy thử tưởng tượng mọi công tác tính lương, thưởng, phụ cấp, bảo hiểm, xuất biểu đồ
báo cáo, phân tích chỉ bằng cách bấm một nút duy nhất. Việc của bạn còn lại chỉ là nhập
dữ liệu vào bảng mà thôi.

PHẦN II : CÁC ĐỐI TƯỢNG TRONG VBA EXCEL


Application Object
Workbooks Object
Workbook Object
Sheets Object
Worksheets Object
Worksheet Object
Range Object
Shapes Object
Shape Object
Excel VBA Object Model
Declaring and Assigning an Object Variable
PHẦN III : MỘT SỐ THAO TÁC CƠ BẢN VỚI VBA EXCEL
3.1. Ghi một Macro trong Excel
Dưới đây là các bước để ghi lại một Macro:

- Bước 1: Chọn vào tab Developer

- Bước 2: Trong nhóm Code , bấm vào nút “Record Macro”

- Bước 3: Trong hộp thoại Record Macro, nhập tên cho macro và gắn thêm phím
tắt nếu muốn.
Sau đó nhấn OK và bắt đầu vào ô bất kỳ, chẳng hạn tôi chọn ô D5 và gõ chữ 'Excel' rồi tô
màu vàng cho ô này rồi nhấp vào nút 'Stop Recording' trên tab Developer.

Sau khi đã ghi lại được một công việc, bây giờ chúng ta sẽ xóa chữ 'Excel' và bỏ màu ở ô
D5 và thực hiện việc chạy Macro
 Nhấp vào tab Developer.
 Trong nhóm Code, bấm vào nút Macros
 Trong hộp thoại Macro, tại Macro name: chọn – Marco1
 Bấm nút Run và cảm nhận kết quả hoặc tại trang tính Excel, nhấn tổ hợp phím 'Crtl +
E'

3.2. Gán một Macro trong Excel


- Bước 1: Vẽ ra hình giống như hình bên dưới .
- Bước 2: Bấm chuột phải vào nút biểu tượng và chọn mục Assign Macro
Trong cửa sổ Assign Macro chúng ta sẽ chọn Macro muốn gán rồi bấm OK

- Bước 3: Sau khi gán macro qua thao tác Assign Macro xong chúng ta chỉ cần
bấm vào nút biểu tượng để gọi ra macro đó.
3.3. Chỉnh sửa một Macro trong Excel
- Bước 1: Trong nhóm code , bấm vào nút “Macro”

- Bước 2: Trong hộp tên Macro , bấm vào Macro mà bạn muốn sửa. Ở đây tôi
chọn macro để sửa.
- Bước 3: Chọn Edit để chỉnh sửa Macro.

Sau đó , cửa sổ sẽ xuất hiện như hình bên dưới


3.4. Lưu một Macro trong Excel

Bước 1: Để có thể lưu cả đoạn Macros VBA và giữ chúng ở trạng thái hoạt động được
khi mở file Excel thì các bạn click vào menu File .
Sau đó chọn Save As => rồi thiết lập vị trí lưu file tại máy tính là Browse.

Bước 2: Đặt lại tên ở phần File name.


Trong phần Type Save bạn đặt là Excel Macros-Enabled Workbook chứ không phải là
định dạng Excel Worbook như mặc định
Sau đó chọn Save để lưu file Excel có Macros.

Bước 3: Để được kết quả file chứa Macros VBA định dạng dưới tệp *.xlsm, có biểu
tượng dấu chấm than. Còn file Excel gốc định dạng *.xlsx .

Bước 4: Sau đó bạn có thể mở file chứa Macro VBA lên và test thử .
PHẦN IV: KHÁI NIỆM VỀ PHƯƠNG THỨC , THUỘC TÍNH VÀ
HÀM TRONG VBA
4.1. Khái niệm về phương thức (Methods) trong VBA
Phương thức là một dạng chương trình gắn liền với đối tượng nhằm thực hiện một hay
nhiều hành động. Phương thức không trả về giá trị như thuộc tính.

Bạn không thể gán giá trị cho phương thức nhưng có thể truyền các giá trị (Tham số). Mỗi
điều khiển sẽ có phương thức khác nhau, nhưng vẫn có phương thức rất thông dụng cho
hầu hết các điều khiển. Ngoài ra, phương thức có những tham số lựa chọn riêng để chỉ hành
động như thế nào.

4.2. Khái niệm về thuộc tính (Properties) trong VBA


Thuộc tính là một thuộc tính của đối tượng xác định một trong các đặc điểm của đối
tượng, chẳng hạn như kích thước, màu sắc hoặc vị trí màn hình hoặc một khía cạnh của
hành vi của nó, chẳng hạn như nó được bật hay hiển thị. Để thay đổi các đặc tính của một
đối tượng, bạn thay đổi các giá trị của các thuộc tính của nó.

Để đặt giá trị của một thuộc tính, hãy làm theo tham chiếu đến một đối tượng có dấu
chấm, tên thuộc tính, dấu bằng ( = ) và giá trị thuộc tính mới.

4.3. Khái niệm về hàm (Function) trong VBA


Một hàm VBA có thể có một câu lệnh trả về tùy chọn. Điều này là bắt buộc nếu bạn
muốn trả về giá trị từ một hàm.
Ví dụ: bạn có thể chuyển hai số trong một hàm và sau đó bạn có thể mong đợi từ hàm trả
về phép nhân của chúng trong chương trình gọi của bạn.
Lưu ý - Một hàm có thể trả về nhiều giá trị được phân tách bằng dấu phẩy dưới dạng một
mảng được gán cho chính tên hàm.
Trước khi sử dụng một hàm, chúng ta cần xác định hàm cụ thể đó. Cách phổ biến nhất để
xác định một hàm trong VBA là sử dụng từ khóa Function , theo sau là một tên hàm duy
nhất và nó có thể có hoặc không có danh sách các tham số và một câu lệnh với từ khóa End
Function , cho biết kết thúc của hàm. Sau đây là cú pháp cơ bản.
PHẦN V: CÁC THAO TÁC VỚI CÁC ĐỐI TƯỢNG TRONG
EXCEL
5.1. Đối tượng Application
Đối tượng application trong Excel VBA là đối tượng được sử dụng thường xuyên nhất
khi thực hiện bất kỳ tác vụ nào với VBA.
Dưới đây là các phương thức và thuộc tính được sử dụng nhiều nhất của đối tượng
Application. Để bạn có thể nhanh chóng tìm ra giải pháp, cú pháp bất cứ khi nào bạn cần
sử dùng nó.

5.1.1. Các phương thức của đối tượng Application


Dưới đây là các phương thức được sử dụng nhiều nhất của đối tượng Application.
Phương thức
FindFile: Để mở hộp thoại để mở một file.
Goto: Để chọn bất kỳ range nào.
Run: Để chạy một thủ tục hoặc một hàm
Wait: Để tạm ngưng chương trình macro.

5.1.2. Các thuộc tính của đối tượng Application


Dưới đây là các thuộc tính được sử dụng nhiều nhất của đối tượng Application.
Properties
DisplayAlerts: Để đại diện cho hiển thị cảnh báo.
Path: Để có được đường dẫn tuyệt đối của ứng dụng.
ScreenUpdating: Để bật/tắt màn hình.
Sử dụng các phương thức của Application
Phương thức FindFile
Phương thức FindFile của Application trong VBA được sử dụng để mở một hộp thoại
cho phép người sử dụng mở một workbook hoặc một file. Phương thức này trả về giá trị
Boolean là true hoặc false. If giá trị trả về là true thì người dùng đã mở file thành công.
Nếu người dùng hủy hộp thoại thì giá trị trả về là false.
Cú pháp:

Ví dụ:

Phương thức Goto


Phương thức Goto của Application trong VBA được sử dụng để chọn bất kỳ range trên
một worksheet hoặc lựa chọn bất kỳ thủ tục visual basic trong workbook. Nếu workbook
là đang không hoạt động, nó sẽ khiến workbook này hoạt động.
Cú pháp:

Trong đó: Reference: Nó chỉ định đích đến. Scroll: Đây là tham số tùy chọn. Nó có giá trị
Boolean hoặc True hay False. Nếu giá trị là true thì nó sẽ di chuyển thanh cuộn đến vị trí
chỉ đích. Nếu đó là false thì nó sẽ không di chuyển thanh cuộn.
Ví dụ: thủ tục sau sẽ chọn cell "A250" của worksheet có tên "Sheet1". Thuộc tính
Scroll:=True của câu lệnh sau sẽ cuộn tới vị trí cell "A250".

Phương thức Run


Phương thức Run của Application trong VBA được sử dụng để run một thủ tục hoặc
function được viết trong VBA.
Cú pháp:

Trong đó: Macro: Nó chỉ định macro để run. Arg1 to Arg30: Đây là tham số tùy chọn. Nó
được sử dụng để truyền các tham số cho function.
Ví dụ: run một thủ tục macro có tên "MyMacro" của workbook có tên "Workbook1.xls".

Phương thức Wait


Phương thức Wait của Application trong VBA được sử dụng để được sử dụng để tạm
dừng hoặc dừng macro trong một khoảng thời gian được chỉ định. Nó trả về một giá trị
Boolean. Nếu thời gian đã chỉ định đến, nó trả về true nếu không nó sẽ trả về false.
Cú pháp:

Trong đó: Time: Đây là một tham số được yêu cầu. Nó chỉ định thời gian bạn muốn tiếp
tục macro.
Ví dụ 1: tạm ngưng macro đến 16h cùng ngày.

Ví dụ 2: tạm ngưng macro 20 giây.

Sử dụng các thuộc tính của Application


Thuộc tính DisplayAlerts
Thuộc tính DisplayAlerts của Application trong VBA có giá trị Boolean là True hoặc
False. Giá trị mặc định là True. Khi giá trị là True nó sẽ hiển thị cảnh báo hoặc thông báo
trong khi chạy macro. Nếu giá trị là False nó sẽ không hiển thị bất kỳ thông báo hoặc
cảnh báo nào.
Ví dụ 1: không hiển thị bất kỳ cảnh báo nào trong khi đóng workbook đang hoạt động.

Ví dụ 2: Hiển thị cảnh báo trong khi đóng workbook đang hoạt động.

Thuộc tính Path


Thuộc tính Path của Application trong VBA được sử dụng để lấy giá trị tuyệt đối của ứng
dụng.
Ví dụ 1: hiển thị đường dẫn tuyệt đối của thư mục chứa ứng dụng excel.

Kết quả:

Ví dụ 1.1: hiển thị đường dẫn tuyệt đối của thư mục chứa file excel macro (workbook).

Kết quả:

Ví dụ 2: hiên thị đường dẫn tuyệt đối của file excel macro.
Kết quả:

Thuộc tính ScreenUpdating


Thuộc tính ScreenUpdating của Application trong VBA được sử dụng để cập nhật
ON/OFF màn hình. Nếu chúng ta thiết lập thuộc tính ScreenUpdating thành True thì nó
sẽ mở màn hình cập nhật. Khi chúng ta thiết lập thuộc tính ScreenUpdating của một đối
tượng Application thành False thì nó sẽ tắt màn hình cập nhật, điều này có nghĩa là sẽ
tăng tốc độ macro. Đó là một trong những kỹ thuật tối ưu hóa.
Ví dụ 1: Trong ví dụ sau, nó sẽ hiển thị số từ 1 đến 100 trong cột đầu tiên của Sheet1.
Chúng ta có thể quan sát màn hình đang cập nhật trong khi cập nhật Sheet1.

Ví dụ 2: Trong ví dụ sau, nó sẽ hiển thị số từ 1 đến 100 trong cột đầu tiên của Sheet1.
Chúng ta không thể quan sát màn hình đang cập nhật trong khi cập nhật Sheet1.

5.2. Đối tượng Workbook


Đối tượng Workbook trong Excel VBA là một trong những đối tượng được sử dụng
thường xuyên nhất trong khi tự động hóa bất kỳ tác vụ nào với VBA. Bài này cung cấp
các phương thức hay sử dụng của đối tượng Workbook. Mỗi đối tượng Workbook tương
ứng với một file excel. Các phương thức của Workbook giúp chúng ta thực hiện các hành
động khác nhau với Excel Workbooks. Ví dụ, chúng ta có thể Kích hoạt một Workbook
và Xóa một Workbook hoặc Move Workbook. Và chúng ta cũng có thể Protect và
UnProtect Workbooks.
5.2.1. Các phương thức của đối tượng Workbook
Activate : Để kích hoạt một Workbook
Calculate : Để làm mới tất cả tính toán trong một Workbook.
Close : Để close một Workbook.
Save : Để save một Workbook
SaveAs : Để SaveAs một Workbook
SaveCopyAs : Để SaveCopyAs một Workbook
Phương thức Activate
Phương thức Activate của đối tượng Workbook trong VBA sẽ giúp bạn kích hoạt một
Workbook cụ thể. Rất hữu ích khi bạn mở nhiều workbooks và muốn truy cập một
Workbook cụ thể để thao tác hoặc đọc một số dữ liệu từ Active Workbook.

Khi chúng ta phải xử lý nhiều workbooks (nhiều file excel) và bạn muốn đọc hoặc ghi vào
một Workbook cụ thể thì bạn phải kích hoạt Workbook đó.

Ví dụ 1: Activate Workbook trong VBA với tên của Workbook

Ví dụ 2: Activate Workbook trong VBA với chỉ số của Workbook

Ví dụ 3: Activate Workbook trong VBA với ThisWorkbook


Sử dụng ThisWorkbook bạn có thể activate Workbook chứa macro đang chạy như sau:
Sử dụng các phương thức của Workbook
Bạn có thể đóng một Workbook (tương ứng một file excel) bởi việc sử dụng phương thức
Close của đối tượng Workbook trong Excel VBA.

Cú pháp:

Ví dụ 1: Close Workbook trong VBA với Savechanges: = True

Ví dụ 2: Close Workbook trong VBA với Savechanges: = False

Ví dụ trên giống như ví dụ 1. Sự khác biệt là chúng ta sử dụng 'Savechanges:=False', điều


đó có nghĩa là nếu chúng ta thực hiện bất kỳ thay đổi trong bảng tính nó sẽ không được
lưu lại.
Ví dụ 3: Close Workbook đang được activate

Ví dụ trên đóng bẳng tính đang được chọn và không lưu lại những gì thay đổi.
Phương thức Save
Chúng ta có thể lưu bảng tính bằng cách sử dụng phương thức 'Save' của đối tượng
Workbook trong Excel VBA.

Cú pháp:
Ví dụ 1: Save Workbook trong VBA

Phương thức SaveAs


Chúng ta có thể lưu bảng tính bằng cách sử dụng phương thức 'SaveAs' của đối tượng
Workbook trong Excel VBA.

Cú pháp:

Ví dụ: SaveAs Workbook trong VBA

Phương thức SaveCopyAs


Với phương thức SaveCopyAs của đối tượng Workbook trong VBA, bạn có thể lưu một
bản sao của Workbook đang mở.

Cú pháp:

Ví dụ: SaveCopyAs Workbook trong VBA


5.2.2. Các thuộc tính của đối tượng Workbook
Dưới đây là các thuộc tính được sử dụng thường xuyên của đối tượng Workbook trong
VBA:

Path : Để lấy ra đường dẫn tuyệt đối của Workbook.


FullName : Để lấy ra tên đầy đủ đối của Workbook.
Sheets : Lấy ra một collection của Charts và Worksheets..
Worksheets : Để lấy ra tất cả các Worksheet của Workbook.

5.3. Đối tượng Worksheet


Đối tượng Worksheet trong Excel VBA là một trong những đối tượng được sử dụng
thường xuyên nhất trong khi tự động hoá các tác vụ với VBA.
Đối tượng Worksheet đại diện cho các sheet trong Workbook, tức là mỗi Workbook chứa
một hoặc nhiều Worksheet.

5.3.1. Các phương thức của đối tượng Worksheet


Dưới đây là các phương thức được sử dụng thường xuyên của đối tượng Worksheet trong
VBA:
Phương thức
Activate: Để kích hoạt một Worksheet.
Calculate: Để làm mới tất cả tính toán trong một Worksheet.
Copy: Để copy một Worksheet.
Delete: Để xóa một Worksheet.
Move: Để di chuyển một Worksheet.
Select: Để chọn một Worksheet.
Phương thức Activate
Phương thức Activate của đối tượng Worksheet trong VBA được sử dụng để kích hoạt
một Worksheet cụ thể của một Workbook đang được kích hoạt.
Tại sao chúng ta cần phải kích hoạt một Worksheet bằng VBA?
Khi chúng ta phải xử lý nhiều Worksheet (sheet trong một Workbook) và bạn muốn đọc
hoặc ghi vào một Worksheet (sheet) cụ thể thì bạn phải kích hoạt Worksheet đó.
Cú pháp:

Áp dụng cú pháp trên bạn sẽ kích hoạt được đối tượng Worksheet cụ thể của một
Workbook đang được kích hoạt.
Ví dụ 1: Activate Worksheet trong VBA với tên của Worksheet

Ví dụ 2: Activate Worksheet trong VBA với chỉ số của Worksheet

Cách tiếp cận tốt nhất


Lưu ý: Luôn luôn sử dụng tên của Worksheet, thay vì chỉ số của Worksheet. Và cách tiếp
cận tốt nhất là gán Worksheet cho một đối tượng và sau đó làm bất cứ nhiệm vụ nào bạn
muốn làm với đối tượng Worksheet cụ thể đó.
Tạo biến tham chiếu đến Worksheet
Vấn đề: Khi bạn phải làm việc với nhiều Workshet (nhiều sheet), mỗi Workbook có
nhiều Worksheet. Bạn phải sử dụng phương thức Activate với hết Workshet này đến
Workshet khác để đọc hoặc ghi dữ liệu từ chúng, điều này có thể dẫn đến mã rối rắm, khó
hiểu khiến bạn lúng túng.
Giải quyết vấn đề
Để giải quyết vấn đề trên, có một giải pháp cho bạn đó là với mỗi Worksheet bạn tạo ra
một biến tham chiếu. Sau đó, bất cứ khi nào muốn sử dụng (Activate) Worksheet nào bạn
chỉ cần tham chiếu đến biến tương ứng.
Ví dụ:

Phương thức Copy


Phương thức Copy của đối tượng Worksheet trong VBA được sử dụng để sao chép một
Worksheet từ vị trí này sang ví trí khác trong cùng một Workbook hoặc Workbook đang
tồn tại hoặc Workbook mới khác.
Cú pháp:

Ví dụ 1: Copy Worksheet trong VBA với Before


Ví dụ sau sao chép sheet "Sheet3" tới vị trí trước sheet đầu tiên trong cùng Workbook.
Trường hợp '1' đại diện cho số chỉ mục Worksheet đầu tiên.
Ví dụ trên, chúng ta sao chép worksheet đang hoạt động đến vị trí đầu tiên trong cùng
Workbook.

Ví dụ 2: Copy Worksheet trong VBA với After


Ví dụ sau sao chép sheet "Sheet3" tới vị trí trước sheet cuối cùng trong cùng Workbook.
Trường hợp Worksheets.Count đại diện cho số chỉ mục Worksheet cuối cùng.

Ví dụ trên, chúng ta sao chép worksheet đang hoạt động đến vị trí cuối cùng trong cùng
Workbook.

Phương thức Delete


Phương thức Delete của đối tượng Worksheet trong VBA được sử dụng để xóa sheet khỏi
Workbook (file Excel). Khi bạn gọi phương thức Delete để xóa một sheet, nó sẽ hiển thị
hộp thoại nhắc người dùng xác nhận việc xóa theo mặc định. Nếu bạn click vào nút
Delete trên hộp thoại thì nó sẽ xóa sheet. Nó trả về giá trị Boolean. Điều đó có nghĩa là
hộp thoại sẽ xuất hiện với hai tùy chọn. Đó là Cancel (False) hoặc Delete (True).
Cú pháp:

Ví dụ 1: Xóa Worksheet trong VBA


Ví dụ sau xóa sheet có tên "Sheet2" từ một Workbook.
Ví dụ trên, sẽ hiển thị hộp thoại Excel và thông báo xác nhận tới người dùng để xóa
"Sheet2".
Ví dụ 2: Xóa Worksheet trong VBA ?

Ví dụ trên, chúng ta thực hiện xóa đối tượng Worksheet đang hoạt động từ một
Workbook bằng cách sử dụng phương thức Delete của đối tượng Worksheet.
Ví dụ 3: Xóa Worksheet trong VBA - không hiển thị alert

Ví dụ trên, xóa "Sheet2" nhưng KHÔNG hiển thị hộp thoại Excel thông báo xác nhận tới
người dùng.

5.4. Đối tượng Range


Đối tượng Range trong Excel VBA là một trong những đối tượng được sử dụng nhiều
nhất trong khi tự động hóa bất kỳ tác vụ nào với VBA. Chúng ta tham chiếu đến các
Range khác nhau trong một Worksheet và thực hiện các hoạt động khác nhau trên Range
trong Excel. Chúng ta có các thuộc tính và các phương thức khác nhau để xử lý các đối
tượng Range trong Excel.
Đối tượng Range là đại diện của một cell (hoặc cells) trên Worksheet, là đối tượng quan
trọng nhất của Excel VBA.
Ví dụ đối tượng Range trong Excel VBA

5.4.1. Đối tượng Range


Ví dụ 1: đặt một nút lệnh trên Worksheet và thêm dòng code sau:

Tham số: Range ( Vị trí ô ). Value = Giá trị muốn gán


Kết quả:

Ví dụ 2: đặt một nút lệnh trên Worksheet và thêm dòng code sau:

Tham số: Range ( Vị trí ô bắt đầu : Vị trí ô kết thúc ). Value = Giá trị muốn gán
Kết quả:

5.4.2. Đối tượng Cells


Thay vì Range, bạn có thể sử dụng Cells. Sử dụng Cells đặc biệt hữu ích khi bạn muốn
lặp qua các ranges.
Ví dụ 3: đặt một nút lệnh trên Worksheet và thêm dòng code sau:

Tham số: Cells ( Vị trí dòng, Vị trí cột ). Value = Giá trị muốn gán
Kết quả:

Ví dụ 4: đặt một nút lệnh trên Worksheet và thêm dòng code sau:

Tham số: Range (Vị trí ô bắt đầu ( vị trí dòng, vị trí cột ) , Vị trí ô kết thúc ( vị trí dòng,
vị trí cột)
= Giá trị muốn gán
Kết quả:

Khai báo một đối tượng Range


Bạn có thể khai báo một đối tượng Range bằng cách sử dụng các từ khoá Dim và Set.

Kết quả:
5.4.3. Các phương thức của đối tượng Range
Dưới đây là các phương thức được sử dụng thường xuyên của đối tượng Range trong
VBA:
Dưới đây là các phương thức được sử dụng thường xuyên của đối tượng Range trong
VBA:
Phương thức
Select: Để chọn Range được yêu cầu trong Worksheet
AddComment: Để thêm bình luận vào Excel Range
AdvancedFilter: Áp dụng các bộ lọc nâng cao trên Excel Range
Calculate: Để làm mới các phép tính trong Excel Range
Formula: Để thêm công thức cho Excel Range
Clear: Để xóa một Excel Range hoàn toàn bao gồm các định dạng và dữ liệu
ClearComments: Để chỉ xóa các bình luận trong Excel Range cụ thể
ClearContents: Để chỉ xóa nội dung/dữ liệu trong một Excel Range
ClearFormats : Để chỉ xóa các định dạng của một Excel Range
ClearHyperlinks: Để chỉ xóa các siêu liên kết trong một Excel Range
Copy: Để sao chép một Excel Range đến một vị trí khác
CopyFromRecordset: Sao chép dữ liệu từ recordset và dán vào một Excel Range
Cut: Cắt Excel Range trong Worksheeet
Delete: Để xóa một Range trong Worksheet
Find: Để tìm kiếm và một Cell có dữ liệu cần thiết
Insert: Để chèn một dãy các Cell, Row hoặc Column
ListNames: Để liệt kê các Excel Range được đặt tên trong bảng tính
Merge: Để hợp nhất Excel Range
Paste: Để dán dữ liệu
PasteSpecial: Để dán dữ liệu với các tiêu chí khác nhau, như các giá trị, các định dạng có
hoạt động toán học hoặc chuyển đổi
Phương thức Select
Một phương pháp quan trọng của đối tượng Range là phương thức Select. Phương thức
Select được sử dụng để chọn một range.
Ví dụ:

Kết quả:

Lưu ý: Để chọn các ô trên một Worksheet khác, bạn phải kích hoạt Worksheet này trước.
Ví dụ, các dòng code sau đây chọn ô B7 trên Worksheet thứ ba từ bên trái.

Phương thức Copy/Paste


Phương thức Copy và Paste sử dụng để sao chép một dãy và dán nó vào một nơi khác
trên Worksheet.
Ví dụ:
Kết quả:

Mặc dù phương thức Copy/Paste được cho phép sử dụng trong Excel VBA, nhưng tốt
hơn là bạn sử dụng dòng code dưới đây thay vì đoạn code trên.

Phương thức ClearContents


Phương thức ClearContents được sử dụng để chỉ xóa nội dung của một Excel Range.
Ví dụ:

Hoặc đơn giản hơn bằng cách sử dụng code sau:

Phương thức ClearFormats


Phương thức ClearFormats được sử dụng để chỉ xóa định dạng của một Excel Range.
Phương thức Clear
Phương thức Clear được sử dụng để xóa một Excel Range hoàn toàn bao gồm các định
dạng và dữ liệu.
Phương thức Formula
Phương thức Formula được sử dụng để thêm công thức cho Excel Range.
Ví dụ:
5.4.4. Các thuộc tính của đối tượng Range
Dưới đây là các thuộc tính được sử dụng thường xuyên của đối tượng Range trong VBA:
Phương thức
Rows: Thuộc tính Rows cho phép truy cập vào một hàng cụ thể của range.
Columns: Thuộc tính Columns cho phép truy cập vào một cột cụ thể trong một range.
Count: Được sử dụng để đếm số ô, hàng và cột của range.
Thuộc tính Rows
Thuộc tính Rows cho phép truy cập vào một hàng cụ thể của range.
Ví dụ:

Kết quả:

Thuộc tính Columns


Thuộc tính Columns cho phép truy cập vào một cột cụ thể của range.
Ví dụ:
Kết quả:

Thuộc tính Count


Thuộc tính Count được sử dụng để đếm số ô, hàng và cột của range.
Ví dụ 1:

Kết quả:

Ví dụ 2:
Kết quả:

PHẦN VI : BIẾN VÀ KHAI BÁO BIẾN TRONG VBA


6.1. Khái niệm , ý nghĩa và các kiểu biến trong lập trình
6.1.1. Khái niệm
Biến dữ liệu là một đại lượng đại diện cho một giá trị và có thể thay đổi. Trong VBA
Excel, biến dữ liệu được dùng để lưu trữ thông tin tạm thời và xử lý các giá trị trung gian.
Khai báo biến hợp lý giúp bạn giúp bạn có thể dễ dàng xử lý, trao đổi dữ liệu với các
thành phần trong Excel bằng VBA.

6.1.2. Ý nghĩa
Trong một dự án VBA dữ liệu không những chỉ cần lưu hành trong nội bộ chương trình
con (Sub hay Function) mà còn cần lưu hành trong nội bộ Modul hoặc trao đổi giữa các
Modul với nhau.
6.1.3. Các kiểu biến trong VBA

Với mỗi “biến” giá trị của nó luôn được quy định ở 1 “kiểu” nào đó. Tức là khi một biến
được khai báo ta luôn phải gán cho nó một kiểu dữ liệu. Do ngôn ngữ lập trình được thiết
kế để thực hiện nhiều nhiệm vụ khác nhau nên phải có nhiều kiểu dữ liệu để đáp ứng nhu
cầu này. Về tổng thể biến trong VBA chia làm hai loại:

 Các kiểu dữ liệu được định nghĩa sẵn: Hay có thể gọi là các biến cơ bản và thường
gặp, có thể kể đến như kiểu logic (Boolean), kiểu số thực (Double), kiểu số
nguyên (Integer hoặc Long), kiểu chuỗi (String)…

Các kiểu do người dùng tự định nghĩa: Là kiểu dữ liệu được xây dựng dựa trên mục
đích của người lập trình, trong đó các thành phần của kiểu dữ liệu này được lấy từ các
kiểu cơ bản đã nêu ở trên, ví dụ định nghĩa điểm trong không gian ba chiều (X, Y, Z
kiểu Double), kích thước cơ bản của dầm (B, H kiểu Double)…

 Kiểu Logic (Boolean)


Chỉ chứa hai giá trị là TRUE và FALSE (đúng và sai). Là loại dữ liệu đơn giản
nhất trong VBA. Kiểu logic thường được sử dụng trong các biểu thức điều kiện.

 Kiểu số nguyên (Integer và Long…)


Có vài loại kiểu dữ liệu này tùy mục đích sử dụng. Sự khác nhau cơ bản giữa
chúng là độ rộng. Xếp theo thứ tự tăng dần độ rộng Byte<Integer<Long. Thông
dụng nhất là kiểu Integer

 Kiểu số thực (Double)


Dùng để chứa các giá trị số thực. Cũng có một vài kiểu số thực trong VBA
(Single, Double, Currency…) nhưng phổ biến và có độ rộng lớn nhất là Double.

 Kiểu chuỗi (String)


Dùng để chứa chuỗi ký tự. Các ký tự này có thể là số, chữ (thường, hoa), ký tự đặc
biệt (“!@#$%^&*()”), dấu cách (Space)… Số lượng ký tự trong 1 biến kiểu chuỗi
là rất lớn và chiều dài có thể thay đổi được. Mặc định trong VBA có 1 thư viện
hàm xử lý chuỗi (thư viện hàm Strings) sẽ nghiên cứu trong bài sau.

 Kiểu mảng (Array)


Giả sử có 100 con số cần phải xử lý dữ liệu. Chẳng lẽ chúng ta khai báo 100 biến
kiểu Double? Không nên thế, trong VBA có 1 kiểu dữ liệu mảng (Array). Dùng để
đặt tên chung cho các dữ liệu có kiểu giống nhau và truy xuất đến từng phần tử
trong mảng bằng chỉ số của mảng ví dụ

Câu lệnh trên khai báo 100 biến kiểu Double có chỉ số từ 0 đến 99. Ngoài việc rút gọn
code, cách khai báo bằng mảng mang lại một số ưu điểm sau:

 Dễ dàng truy xuất đến từng phần tử của mảng bằng chỉ số
 Dễ dàng thêm bớt số chiều của mảng bằng câu lệnh Redim khi chương trình đang
hoạt động (mảng động).
 Mô tả ma trận hay dãy số trực quan hơn.

 Kiểu Variant
Variant là một kiểu dữ liệu đặc biệt khi mà nó có thể chứa tất cả các loại dữ liệu
khác. Ngoài ra kiểu Variant còn có thể chứa các giá trị đặc biệt như Error,
Nothing, Null, đối tượng…
Kiểu Variant đặc biệt là vậy nhưng không nên lạm dụng vì sẽ dẫn tới khó kiểm
soát, gây lỗi cho chương trình và khó gỡ rối.

 Kiểu tự định nghĩa (User-Defined Type)


Giả sử chúng ta cần mô hình hóa một hệ thống dầm cho 1 ngôi nhà với các thông số cơ
bản như sau:

 iSTT – số thứ tự dầm kiểu Integer


 dB – chiều rộng dầm kiểu Double
 dH – Chiều cao dầm kiểu Double
 strTen – Tên dầm kiểu String

Trong chương trình chúng ta khai báo 1 kiểu dữ liệu tự định nghĩa

Sau khi khai báo kiểu tự định nghĩa chúng ta có thể sử dụng chúng như các kiểu dữ liệu
cơ bản.

6.2. Cách khai báo biến trong lập trình VBA


Việc khai báo biến thường bao gồm các yêu cầu:

 Tên của biến: để nhận dạng, sử dụng


 Kiểu dữ liệu của biến: để xác định cấu trúc của dữ liệu, phạm vi bộ nhớ cần sử dụng
cho biến
 Phạm vi hoạt động: dùng trong toàn bộ các module hay chỉ trong 1 module, hay chỉ
trong 1 sub. Việc này thường ảnh hưởng khi muốn sử dụng biến cùng tên nhưng
khác giá trị, hay cùng tên cùng giá trị. Đây cũng là từ khóa để bắt đầu việc khai báo
biến
CẤU TRÚC CỦA 1 LỆNH KHAI BÁO BIẾN:

[Phạm vi hoạt động] + [dấu cách] + [Tên biến] + [dấu cách] + [as] + [dấu cách] +
[Kiểu dữ liệu của biến]
Ví dụ:

Dim i As Integer

 Dim: Phạm vi của biến mang tính chất cục bộ tại nơi đặt lệnh khai báo
 i: tên biến là chữ “i”
 As Integer: kiểu biến là kiểu Integer, trong đó từ khóa “As” có nghĩa là “gán cho“,
“là“
PHẦN VII: CÂU LỆNH ĐIỀU KIỆN IF VÀ SELECT CASE
7.1. Câu lệnh If
7.1.1. Mệnh đề If
Mệnh đề if-else trong VBA được sử dụng để kiểm tra giá trị dạng boolean của điều kiện.
Mệnh đề này trả về giá trị True hoặc False.
Cú pháp:

Condition: Điều kiện


Statement: Câu lệnh
Ví dụ:
Kết quả:

7.1.2. Mệnh đề If-else


Mệnh đề if-else cũng kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều kiện là
True thì chỉ có khối lệnh sau if sẽ được thực hiện, nếu là False thì chỉ có khối lệnh sau
else được thực hiện.
Cú pháp:

Ví dụ:
Kết quả:

7.1.3. Mệnh đề If-elseIf-else


Mệnh đề if-elseif-else cũng kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều
kiện if là True thì chỉ có khối lệnh sau if sẽ được thực hiện. Nếu giá trị điều kiện ifelse
nào là True thì chỉ có khối lệnh sau elseif đó sẽ được thực hiện… Nếu tất cả điều kiện của
if và elseif là False thì chỉ có khối lệnh sau else sẽ được thực hiện.
Cú pháp:
Ví dụ:

Kết quả:
7.1.4. Mệnh đề If lồng nhau
Một câu lệnh If hoặc ElseIf bên trong câu lệnh If hoặc ElseIf khác được biết đến như là
mệnh đề if lồng nhau. Các câu lệnh if bên trong được thực thi dựa trên các câu lệnh if bên
ngoài.
Ví dụ:

Kết quả:
Click OK

7.1.5. Toán tử trong VBA


1. Các toán tử số học
Bảng dưới đây trình bày các toán tử số học sau được hỗ trợ bởi VBA.
Giả sử biến A có giá trị là 5 và biến B có giá trị là 10, sau đó:

Toán tử Mô tả Ví dụ
+ Phép cộng hai toán hạng A + B sẽ cho 15
- Phép trừ hai toán hạng A - B sẽ cho -5
* Phép nhân hai toán hạng A * B sẽ cho 50
/ Phép chia lấy phần nguyên B / A sẽ cho 2
hai toán hạng
Mod Phép chia lấy phần dư hai B Mod A sẽ cho 0
toán hạng
^ Lũy thừa hai toán hạng B ^ A sẽ cho 100000
2.Các toán tử so sánh
Bảng dưới đây trình bày các toán tử so sánh sau được hỗ trợ bởi VBA.
Giả sử biến A có giá trị là 5 và biến B có giá trị là 10, sau đó:

Toán tử Mô tả Ví dụ
= Kiểm tra nếu giá trị của hai (A = B) là False.
toán hạng bằng nhau hay
không. Nếu có, thì điều
kiện là đúng.
<> Kiểm tra nếu giá trị của hai (A <> B) là True.
toán hạng bằng nhau hay
không. Nếu các giá trị
không bằng nhau, thì điều
kiện là đúng.
> Kiểm tra nếu giá trị của (A > B) là False.
toán hạng bên trái lớn hơn
giá trị của toán hạng bên
phải không. Nếu có, thì
điều kiện là đúng.
< Kiểm tra xem giá trị của (A < B) là True.
toán hạng bên trái có nhỏ
hơn giá trị của toán hạng
bên phải không. Nếu có, thì
điều kiện là đúng.
>= Kiểm tra nếu giá trị của (A >= B) là False.
toán hạng bên trái lớn hơn
hoặc bằng giá trị của toán
hạng bên phải không. Nếu
có, thì điều kiện là đúng.
<= Kiểm tra xem giá trị của (A <= B) là True.
toán hạng bên trái có nhỏ
hơn hoặc bằng giá trị của
toán hạng bên phải không.
Nếu có, thì điều kiện là
đúng.
3. Các toán tử logic (hoặc quan hệ)
Bảng dưới đây trình bày các toán tử logic sau được hỗ trợ bởi VBA.
Giả sử biến A có giá trị là 10 và biến B có giá trị là 0, sau đó:

Toán tử Mô tả Ví dụ
AND Nếu cả hai điều kiện là a<>0 AND b<>0 là False.
True, thì true.
OR Nếu một trong hai điều a<>0 OR b<>0 là true.
kiện là True, thì true.
NOT Được sử dụng để đảo NOT(a<>0 OR b<>0) là
ngược trạng thái logic của false.
toán hạng. Nếu một điều
kiện có giá trị true, thì toán
tử NOT điều kiện đó sẽ là
false
XOR Nếu chỉ một trong hai điều (a<>0 XOR b<>0) là true.
kiện là true thì biểu thức là
true, ngược lại là false.

4. Các toán tử móc nối


Bảng dưới đây trình bày các toán tử móc nối sau được hỗ trợ bởi VBA.
Giả sử biến A có giá trị là 5 và biến B có giá trị là 10, sau đó:

Toán tử Mô tả Ví dụ
+ Cộng hai biến số A + B sẽ cho 15
& Nối hai chuỗi A & B sẽ cho 510

Giả sử biến A có giá trị là "Hello" và biến B có giá trị là " VBA!", sau đó:

Toán tử Mô tả Ví dụ
+ Cộng hai biến số A + B sẽ cho "Hello
VBA!"
& Nối hai chuỗi A & B sẽ cho "Hello
VBA!"
7.2. Câu lệnh Select-Case
Mệnh đề Select-Case trong VBA được sử dụng để thực thi 1 hoặc nhiều khối lệnh từ
nhiều điều kiện. Khi một người dùng muốn thực hiện một nhóm các câu lệnh tùy thuộc
vào một giá trị của một biểu thức, thì Select-Case sẽ được sử dụng. Mỗi giá trị được gọi
là Case. Câu lệnh Case Else được thực thi nếu biểu thức kiểm tra không khớp với bất kỳ
trường hợp nào được chỉ định bởi người dùng. Case Else là một câu lệnh tùy chọn trong
mệnh đề Select-Case, tuy nhiên, nó là tốt hơn khi luôn luôn có một câu lệnh Case Else
Cú pháp:

Expression: Biểu thức


ExpressionList: Danh sách biểu thức
Statement: Lệnh thực hiện
Ví dụ:

Kết quả:
Function IF
Câu 1:

Kết quả:

Câu 2:

Kết quả:
Câu 3:

Kết quả:
Câu 4:

Kết quả:
Câu 5:

Kết quả:
Function Select Case
Câu 3:

Kết quả:
Câu 4:

Kết quả:
7.3. Vòng lặp trong VBA
7.3.1. Vòng lặp For trong VBA
Vòng lặp for trong VBA được sử dụng để lặp một phần của chương trình nhiều lần.
Nếu số lần lặp là cố định thì vòng lặp for được khuyến khích sử dụng, còn nếu số lần
lặp không cố định thì nên sử dụng vòng lặp while hoặc do while.
Cú pháp:

Ví dụ 1: Sử dụng từ khóa Step 2 để tăng biến đếm 2 đơn vị sau mỗi vòng lặp.

Kết quả:
Ví dụ 2: Sử dụng từ khóa Step -2 để giảm biến đếm 2 đơn vị sau mỗi vòng lặp.

Kết quả:

Ví dụ 3: không cần sử dụng từ khóa Step, biến đếm i tăng dần từ 1 đến 5.

Kết quả:
7.3.2. Vòng lặp For-Each trong VBA
Vòng lặp For Each trong VBA được sử dụng để thực hiện một câu lệnh hoặc một nhóm
các câu lệnh cho mỗi phần tử của một mảng hoặc một collection.

Một vòng lặp For Each tương tự vòng lặp For. Tuy nhiên, vòng lặp For Each được thực
hiện cho mỗi phần tử của một mảng hoặc collection. Do đó, bộ đếm Step sẽ không tồn tại
trong loại vòng lặp này.

Cú pháp:

Ví dụ:

Kết quả:
7.3.3. Vòng lặp While-Wend trong VBA
Vòng lặp While-Wend trong VBA được sử dụng để lặp một phần của chương trình
một vài lần. Nếu điều kiện là True, tất cả các câu lệnh được thực hiện cho đến khi gặp
từ khóa Wend. Nếu điều kiện là False, vòng lặp sẽ thoát và nhảy tới câu lệnh tiếp theo
sau từ khoá Wend.
Cú pháp :

Ví dụ:

Kết quả :
7.3.4. Vòng lặp Do-While trong VBA
Vòng lặp Do-While trong VBA được sử dụng để lặp một phần của chương trình một
vài lần khi điều kiện là True. Điều kiện có thể được kiểm tra ở đầu vòng lặp hoặc ở
cuối vòng lặp.
Cú pháp:
Dưới đây là cú pháp của vòng lặp Do-While trong VBA với điều kiện được kiểm tra ở
cuối vòng lặp.

Ví dụ:

Kết quả:
7.3.5. Ví dụ minh họa
Ví dụ 1: Cho số nguyên n, cho biết n có phải là số nguyên tố hay không?

Kết quả:
Ví dụ 2: Cho số nguyên dương n, tìm số đảo ngược của n. Ví dụ, với n = 12345 thì số đảo
ngược của n là 54321
Kết quả:

Câu 3: tính tổng của N số tự nhiên đầu tiên, số N nhập từ bàn phím

Kết quả:
Câu 4: Tính tổng của Các số chẵn trong khoảng từ 1 đến N. N nhập từ bàn phím.

Kết quả:

You might also like