Video: Học VBA trong Excel | 04 Hướng dẫn lưu và mở file excel có chứa macro 2025
Một trong những cách mà bạn có thể lấy mã VBA vào một mô-đun VBA là sử dụng máy ghi macro Excel để ghi lại hành động của bạn và chuyển chúng sang Mã VBA. Tuy nhiên, không phải tất cả các công việc đều có thể được dịch sang VBA bằng cách ghi macro. Bạn cũng có thể nhập mã trực tiếp hoặc sao chép mã từ một mô-đun và dán nó vào một mã khác.
Việc nhập và chỉnh sửa văn bản trong một mô-đun VBA hoạt động như bạn mong đợi. Bạn có thể chọn, sao chép, cắt, dán và làm những việc khác trong văn bản.
Một dòng mã VBA có thể được miễn là bạn muốn. Tuy nhiên, bạn có thể muốn sử dụng ký tự tiếp tục dòng để chia đoạn mã dài. Để tiếp tục một dòng mã (còn gọi là statement ) từ một dòng này sang dòng kế tiếp, hãy kết thúc dòng đầu tiên với dấu cách và sau đó là một dấu gạch dưới (_). Sau đó tiếp tục tuyên bố trên dòng kế tiếp. Dưới đây là một ví dụ về một tuyên bố đơn lẻ được chia thành ba dòng:
Lựa chọn. Phân loại Key1: = Range ("A1"), _ Order1: = xlAscending, Header: = xlGuess, _ Định hướng: = xlTopToBottom
Câu lệnh này sẽ thực hiện theo cùng một cách nếu nó được nhập vào trong một dòng đơn (không có dòng- nhân vật tiếp nối).
VBE có nhiều cấp hoàn tác và làm lại. Nếu bạn đã xóa một câu lệnh mà bạn không nên có, hãy sử dụng nút Hoàn tác trên thanh công cụ (hoặc nhấn Ctrl + Z) cho đến khi câu lệnh xuất hiện trở lại. Sau khi hoàn tác, bạn có thể sử dụng nút Làm lại để thực hiện các thay đổi bạn đã hoàn tác.
Sẵn sàng để nhập một số mã thực tế, sống động? Hãy thử các bước sau:
-
Tạo một bảng tính mới trong Excel.
-
Nhấn Alt + F11 để kích hoạt VBE.
-
Nhấp vào tên của bảng tính mới trong cửa sổ dự án.
-
Chọn Chèn → Module để chèn một mô-đun VBA vào dự án.
-
Nhập mã sau vào module:
Sub GuessName () Dim Msg như String Dim Ans As Long Msg = "Là tên của bạn" và ứng dụng. UserName & "?" Ans = MsgBox (Msg, vbYesNo) Nếu Ans = vbNo Sau đó MsgBox "Oh, đừng bao giờ ngại." Nếu Ans = vbYes Sau đó MsgBox "Tôi phải là thấu thị!" End Sub
-
Đảm bảo rằng con trỏ nằm ở bất cứ vị trí nào trong văn bản mà bạn đã nhập và sau đó nhấn F5 để thực hiện thủ tục.
F5 là một phím tắt cho lệnh Run → Run Sub / UserForm.
Khi bạn nhập mã được liệt kê trong bước 5, bạn có thể nhận thấy rằng VBE thực hiện một số điều chỉnh cho văn bản bạn nhập vào. Ví dụ, sau khi bạn gõ lệnh Sub, VBE tự động chèn câu lệnh End Sub. Và nếu bạn bỏ qua dấu cách trước hoặc sau một dấu bằng, VBE chèn khoảng trống cho bạn. Ngoài ra, VBE thay đổi màu sắc và viết hoa của một số văn bản. Những thay đổi này là cách giữ cho VBE gọn gàng và dễ đọc.
Nếu bạn làm theo các bước trước, bạn chỉ cần tạo một thủ tục VBA Sub, còn được gọi là macro. Khi bạn nhấn F5, Excel thực thi mã và làm theo hướng dẫn. Nói cách khác, Excel đánh giá mỗi câu lệnh và thực hiện những gì bạn đã nói với nó để làm. Bạn có thể thực hiện vĩ mô này bất kỳ số lần - mặc dù nó có xu hướng mất sự hấp dẫn của nó sau khi một vài chục cuộc hành quyết.
Sử dụng các khái niệm sau:
-
Xác định một thủ tục phụ (dòng đầu)
-
Khai báo các biến (các câu lệnh Dim)
-
Gán các giá trị cho biến (Msg and Ans)
-
Kết nối (9) Sử dụng hàm built-in VBA (MsgBox)
-
Sử dụng các hằng số VBA đã được xây dựng (vbYesNo, vbNo, and vbYes)
-
Sử dụng một cấu trúc If-Then (hai lần)
-
Kết thúc một thủ tục phụ (dòng cuối cùng)
-
Như đã đề cập, bạn có thể sao chép và dán mã vào một mô-đun VBA. Ví dụ, một thủ tục Sub hoặc Function mà bạn viết cho một dự án cũng có thể hữu ích trong một dự án khác. Thay vì lãng phí thời gian nhập lại mã, bạn có thể kích hoạt mô-đun và sử dụng các thủ tục sao chép và dán thông thường (Ctrl + C để sao chép và Ctrl + V để dán). Sau khi dán mã vào một mô đun VBA, bạn có thể sửa đổi mã khi cần thiết.