VBA Gọi / Chạy Sub từ một chương trình con khác

Hướng dẫn này sẽ dạy bạn cách gọi một thủ tục con từ bên trong một thủ tục con khác trong VBA

Nó rất hữu ích khi viết mã có thể được sử dụng lặp đi lặp lại và được gọi từ nhiều thủ tục con trong dự án của bạn - nó có thể tiết kiệm rất nhiều thời gian và làm cho mã VBA hiệu quả hơn nhiều.

Chạy một thủ tục phụ từ một thủ tục phụ khác

Hãy xem xét 3 thủ tục phụ dưới đây:

1234 Sub TestRoutine ()RunRoutine1RunRoutine2Kết thúc Sub
123 Sub RunRoutine1 ()MsgBox "Chào buổi sáng"Kết thúc Sub
123 Sub RunRoutine2 ()MsgBox "Ngày hôm nay là" & Định dạng (Ngày, "mm / dd / yyyy")Kết thúc Sub

Nếu chúng ta chạy Sub Thủ tục - TestRoutine - nó sẽ gọi RunRoutine1 và RunRoutine2 và 2 hộp thông báo sẽ xuất hiện.

Không có giới hạn về số lượng các Thủ tục phụ mà bạn có thể gọi từ một Thủ tục phụ khác.

Sử dụng Báo cáo cuộc gọi

Bạn cũng có thể sử dụng Câu lệnh cuộc gọi trước tên thủ tục để làm cho mã của bạn dễ đọc hơn. Tuy nhiên, nó không ảnh hưởng gì đến cách mã được chạy hoặc lưu trữ.

1234 Sub TestRoutine ()Gọi RunRoutine1Gọi RunRoutine2Kết thúc Sub

Kêu gọi người phụ bằng đối số

Cũng có thể gọi một phụ với các đối số

1234 Sub TestRoutine ()RunRoutine1 ("Melanie")RunRoutine2 ("Chúc một ngày vui vẻ")Kết thúc Sub
123 Sub RunRoutine1 (strName dưới dạng chuỗi)MsgBox "Chào buổi sáng" & "& strNameKết thúc Sub
123 Sub RunRoutine2 (strMessage dưới dạng chuỗi)MsgBox "Ngày hôm nay là" & Định dạng (Ngày, "mm / dd / yyyy") & VbCrLf & strMessageKết thúc Sub

Gọi một phụ bằng các đối số được đặt tên

Nếu bạn đặt tên cho các đối số của mình, bạn không cần phải chuyển chúng theo cùng một thứ tự cho các quy trình phụ của mình.

123 Sub TestRoutine ()RunRoutine1 strGreeting: = "Bạn có khỏe không?", StrName: = "Melanie"Kết thúc Sub
123 Sub RunRoutine1 (strName dưới dạng chuỗi, strGreeting dưới dạng chuỗiMsgBox "Chào buổi sáng" & "& strName & vbCrLf & strGreetingKết thúc Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave