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 ta có thể cần phải viết một lượng lớn mã và 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 quy trình con duy nhất 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 phụ để đơ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.
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. Cái đầu tiên là “Code_1” và cái thứ hai là “Code_2”.

Trong mã con cuộc gọi VBA đầu tiên, tôi vừa viế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à “Mã_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 đồ họa bên dưới.

Tôi đã đề cập đến mã là “Mã cuộc gọi_2” 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ẽ làm nổi bật 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 có thể 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à phương pháp hay nhất vì nếu thủ tục con macro chứa dấu ngoặc đơn mà bạn muốn thực thi, thì từ "Gọi" là bắt buộc.
  • Theo ý kiến ​​cá nhân của tôi, hãy 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 đúng mã.

thú vị bài viết...