Chương trình con VBA Excel: Cách gọi Sub trong VBA bằng ví dụ

Chương trình con trong VBA là gì?

A Chương trình con trong VBA là một đoạn mã thực hiện một tác vụ cụ thể được mô tả trong mã nhưng không trả về kết quả hoặc giá trị. Các chương trình con được sử dụng để chia các đoạn mã lớn thành các phần nhỏ có thể quản lý được. Các chương trình con có thể được gọi lại nhiều lần từ bất kỳ đâu trong chương trình.

Giả sử bạn đã tạo một giao diện người dùng với các hộp văn bản để chấp nhận dữ liệu đầu vào của người dùng. Bạn có thể tạo một chương trình con xóa nội dung của các hộp văn bản. Một chương trình con VBA Call phù hợp trong trường hợp như vậy vì bạn không muốn trả về bất kỳ kết quả nào.

Tại sao nên sử dụng chương trình con

  • Chia mã thành mã nhỏ có thể quản lý được: Một chương trình máy tính trung bình có hàng ngàn dòng mã nguồn. Điều này làm tăng tính phức tạp. Các chương trình con giúp giải quyết vấn đề này bằng cách chia nhỏ chương trình thành các đoạn mã nhỏ dễ quản lý.
  • Tái sử dụng mã. Giả sử bạn có một chương trình cần truy cập cơ sở dữ liệu, hầu như tất cả các cửa sổ trong chương trình sẽ cần tương tác với cơ sở dữ liệu. Thay vì viết mã riêng cho các cửa sổ này, bạn có thể tạo một hàm xử lý tất cả các tương tác cơ sở dữ liệu. Sau đó, bạn có thể gọi nó từ bất kỳ cửa sổ nào bạn muốn.
  • Các chương trình con và chức năng tự ghi lại tài liệu. Giả sử bạn có một hàm tính toánLoanInterest và một hàm khác có nội dung connectToDatabase. Chỉ cần nhìn vào tên của chương trình con/chức năng, lập trình viên sẽ có thể biết chương trình đó làm gì.

Quy tắc đặt tên chương trình con và hàm

Để sử dụng các chương trình con và hàm, có một bộ quy tắc mà người ta phải tuân theo.

  • Tên hàm gọi chương trình con hoặc VBA không được chứa dấu cách
  • Tên hàm hoặc cuộc gọi VBA Excel phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới. Nó không thể bắt đầu bằng số hoặc ký tự đặc biệt
  • Tên chương trình con hoặc hàm không thể là từ khóa. Từ khóa là một từ có ý nghĩa đặc biệt trong VBA. Những từ như Riêng tư, Phụ, Chức năng và Kết thúc, v.v. đều là ví dụ về từ khóa. Trình biên dịch sử dụng chúng cho các tác vụ cụ thể.

Cú pháp chương trình con VBA

Bạn sẽ cần bật tab Nhà phát triển trong Excel để làm theo ví dụ này. Nếu bạn không biết cách bật tab Nhà phát triển thì hãy đọc hướng dẫn trên VBA Operaxoắn

ĐÂY trong cú pháp,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
    'do something
End Sub

giải thích cú pháp

Hoạt động
  • “Sub riêng mySubRoutine(…)”
  • Ở đây từ khóa “Sub” được sử dụng để khai báo một chương trình con có tên là “mySubRoutine” và bắt đầu phần thân của chương trình con.
  • Từ khóa Private được sử dụng để xác định phạm vi của chương trình con
  • “ByVal arg1 dưới dạng chuỗi, ByVal arg2 dưới dạng chuỗi” :
  • Nó khai báo hai tham số có kiểu dữ liệu chuỗi tên là arg1 và arg2
  • “Kết thúc phụ”
  • “End Sub” được dùng để kết thúc phần thân của chương trình con

Chương trình con sau đây chấp nhận tên và họ và hiển thị chúng trong hộp thông báo.

Bây giờ chúng ta sẽ lập trình và thực hiện Thủ tục phụ này. Hãy xem điều này.

Cách gọi Sub trong VBA

Dưới đây là quy trình từng bước về cách Gọi Sub trong VBA:

  1. Thiết kế giao diện người dùng và đặt các thuộc tính cho điều khiển người dùng.
  2. Thêm chương trình con
  3. Viết mã sự kiện nhấp chuột cho nút lệnh gọi chương trình con
  4. Kiểm tra ứng dụng

Bước 1) Giao diện người dùng

Thiết kế giao diện người dùng như trong hình bên dưới.

Cách gọi Sub trong VBA

Thiết lập các thuộc tính sau. Các thuộc tính mà chúng ta đang thiết lập:

S / N Kiểm soát Bất động sản Giá trị
1 LệnhNút1 Họ tên btnDisplayFullName
2 Chú thích Chương trình con tên đầy đủ


Giao diện của bạn bây giờ sẽ trông như sau.

Cách gọi Sub trong VBA

Bước 2) Thêm chương trình con

  1. Nhấn Alt + F11 để mở cửa sổ mã
  2. Thêm chương trình con sau
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

ĐÂY trong mã,

Hoạt động
  • “Hiển thị phụ riêng tưFullName(…)”
  • Nó khai báo một chương trình con riêng displayFullName chấp nhận hai tham số chuỗi.
  • “ByVal firstName dưới dạng chuỗi, ByVal LastName dưới dạng chuỗi”
  • Nó khai báo hai biến tham số firstName và lastName
  • CôBox FirstName & ” ” & LastName”
  • Nó gọi MsgBox hàm tích hợp để hiển thị hộp thông báo. Sau đó, nó truyền các biến 'firstName' và 'lastName' làm tham số.
  • Ký hiệu “&” được sử dụng để nối hai biến và thêm khoảng trống giữa chúng.

Bước 3) Gọi chương trình con

Gọi chương trình con từ sự kiện nhấn nút lệnh.

  • Nhấp chuột phải vào nút lệnh như trong hình bên dưới. Chọn Xem mã.
  • Trình soạn thảo mã sẽ mở

Cách gọi Sub trong VBA

Thêm đoạn mã sau vào trình soạn thảo mã cho sự kiện nhấp chuột vào nút lệnh btnDisplayFullName.

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

Cửa sổ mã của bạn bây giờ sẽ trông như sau

Cách gọi Sub trong VBA

Lưu các thay đổi và đóng cửa sổ mã.

Bước 4) Kiểm tra mã

Trên thanh công cụ dành cho nhà phát triển, đặt chế độ thiết kế 'tắt'. Như hình dưới đây.

Cách gọi Sub trong VBA

Bước 5) Bấm vào nút lệnh 'Chương trình con FullName'.

Bạn sẽ nhận được kết quả sau

Cách gọi Sub trong VBA

Tải xuống Mã Excel ở trên

Tổng kết

  • Chương trình con là một đoạn mã thực hiện một tác vụ cụ thể. Chương trình con không trả về giá trị sau khi thực hiện
  • Các chương trình con cung cấp khả năng sử dụng lại mã
  • Các chương trình con giúp chia các đoạn mã lớn thành các đoạn mã nhỏ có thể quản lý được.