VBA Call Sub (Hướng dẫn từng bước) | Làm thế nào để gọi chương trình con trong Excel VBA?

Call Sub trong VBA là gì?

Chúng ta có thể thực thi tất cả các thủ tục con của cùng một mô-đun trong một chương trình con duy nhất và quá trình thực thi chúng trong một chương trình con VBA duy nhất được gọi là “Gọi Sub”.

Trong một số trường hợp, chúng tôi có thể cần phải viết một lượng lớn mã và việc viết chúng trong một macro duy nhất sẽ tạo ra rất nhiều vấn đề trong khi gỡ lỗi mã. Lúc đầu, mọi người có xu hướng làm điều này hoàn toàn vì thiếu kiến ​​thức về phương pháp "Gọi phụ".

Việc giữ tất cả các mã trong một thủ tục con không phải là một thực tiễn tốt, chúng ta cần chia chúng thành nhiều thủ tục con để đơn giản hóa mã.

Làm thế nào để gọi chương trình con trong Excel VBA?

Chạy macro excel từ thủ tục này sang thủ tục khác làm cho cuộc sống dễ dàng hơn hoàn toàn trên cơ sở tiết kiệm rất nhiều thời gian trong khi chạy cũng như gỡ lỗi mã trong trường hợp có bất kỳ lỗi nào.

Bạn có thể tải mẫu VBA Call Sub Excel này tại đây - Mẫu VBA Call Sub Excel

Mã:

 Mã phụ_1 () Dải ô ("A1"). Giá trị = "Xin chào" Kết thúc Mã phụ phụ_2 () Dải ô ("A1"). Interior.Color = rgbAquamarine End Sub 

Trong hình trên, chúng ta có hai quy trình con. Mã đầu tiên là “Mã_1” và mã thứ hai là “Mã_2”.

Trong mã con cuộc gọi VBA đầu tiên, tôi vừa viết một mã để chèn giá trị vào ô A1 là “Xin chào”. Trong quy trình phụ thứ hai, tôi đã viết mã để thay đổi màu bên trong của ô A1 thành “rgbAquamarine”.

Bây giờ tôi sẽ chạy mã đầu tiên, tức là “Code_1”.

Bây giờ tôi sẽ chạy mã thứ hai, tức là “Mã_2”.

Ở đây tôi đã thực hiện các lần mã.

Bằng cách sử dụng VBA “call Sub”, chúng ta có thể thực thi cả hai quy trình con chỉ trong một macro duy nhất. Chúng ta chỉ cần thêm từ "Gọi" theo sau là tên macro.

Nhìn vào hình ảnh dưới đây.

Tôi đã đề cập mã là “Mã cuộc gọi_2” chỉ trong quy trình con đầu tiên. Bây giờ để hiểu chúng ta hãy chạy từng dòng mã. Nhấn phím F8 nó sẽ tô sáng tên macro.

Nhấn phím F8 một lần nữa nó sẽ nhảy sang dòng tiếp theo.

Đường màu vàng hiển thị mã được đánh dấu sắp thực thi nếu chúng ta nhấn phím F8 thêm một lần nữa. Nhấn phím F8 ngay bây giờ.

Như chúng ta thấy, nó đã chèn từ “Xin chào” vào ô A1. Bây giờ dòng “Mã cuộc gọi_2” đã được tô sáng.

“Mã cuộc gọi_2” có nhiệm vụ thay đổi màu bên trong của ô A1 và từ “Mã cuộc gọi_2” sẽ chỉ thực thi mã này từ quy trình phụ thực tế.

Nhưng hãy nhấn phím F8 để thấy điều kỳ diệu.

Nó đã chuyển đến tên quy trình phụ được đề cập. Nhấn phím F8 một lần nữa.

Bây giờ dòng nhiệm vụ thực tế được đánh dấu, để thực hiện thao tác này, hãy nhấn phím F8 thêm một lần nữa.

Như vậy, chúng ta có thể thực thi nhiều thủ tục con từ một thủ tục con bằng cách gọi thủ tục con bằng tên của chúng với từ “Gọi”.

Ghi chú:

  • Chúng ta có thể thực thi macro của một thủ tục con khác mà không cần sử dụng từ “Gọi” mà chỉ cần nhắc đến tên macro.
  • Đây không phải là cách tốt nhất vì nếu thủ tục con macro chứa dấu ngoặc đơn mà bạn muốn thực hiện thì từ "Gọi" là bắt buộc.
  • Theo ý kiến ​​cá nhân của tôi, luôn luôn sử dụng từ “Gọi” vì nó chỉ là một từ gồm 4 chữ cái cho phép người khác hiểu mã một cách chính xác.

$config[zx-auto] not found$config[zx-overlay] not found