11/08/2018, 19:22

Sub trong VBA

Học java core Sub trong VBA hay còn gọi là thủ tục trong VBA là tương tự như function, tuy nhiên có một số khác biệt. Các thủ tục Sub KHÔNG không có giá trị trả về trong khi các function có thể hoặc không trả lại một giá trị. Các thủ tục Sub được gọi với từ khóa Call ...

Học java core

Sub trong VBA hay còn gọi là thủ tục trong VBA là tương tự như function, tuy nhiên có một số khác biệt.

  • Các thủ tục Sub KHÔNG không có giá trị trả về trong khi các function có thể hoặc không trả lại một giá trị.
  • Các thủ tục Sub được gọi với từ khóa Call hoặc không.

Cú pháp của Sub trong VBA

Sub SubName([parameter-list])
   statement 1
   statement 2
   statement 3
   .......
   statement n
End Sub

Trong đó:

[parameter-list]: là danh sách tham số, có thể có không, một hoặc nhiều.

Ví dụ

Ví dụ sau hiển thị tích của hai số đã cho trong một hộp thoại thông báo.

Sub Area(x As Double, y As Double)
   MsgBox x * y
End Sub

Gọi một Sub trong VBA

Bạn có thể gọi lại Sub trong một Functon khác hoặc trong một Sub khác.

Bạn có thể sử dụng hoặc không cần sử dụng từ khóa Call để gọi Sub.

Gọi Sub trong một Sub khác

Ví dụ:

Sub ClickButton()
    Call Area(10, 10)
End Sub

Gọi Sub trong một Function khác

Ví dụ:

Function findArea(height As Double, Optional awidth As Double)
   If IsMissing(awidth) Then
      Call Area(height, height)
   Else
      Call Area(height, awidth)
   End If
End Function

Gọi Sub trong Cell của Worksheet thông qua một function

Bây giờ bạn sẽ chỉ có thể gọi Sub trong Cell của Worksheet thông qua một function như thể hiện trong ảnh chụp màn hình sau đây:

Sub trong VBA

Tích của hai số được tính và chỉ được hiển thị trong hộp thoại thông báo:

Sub trong VBA

Kết quả hiển thị trong cell là 0, vì Sub trong VBA không có giá trị trả về:

Sub trong VBA
Học java core
0