Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Nội dung được viết bởi G-LEARNING

Chương trình con (Sub) là gì?

Một chương trình con là một tập hợp các đoạn mã thực hiện một nhiệm vụ cụ thể và không trả về kết quả. Các chương trình con được sử dụng để chia những đoạn mã lớn thành các phần nhỏ để có thể dễ dàng quản lý được. 

Tại sao chúng ta lại sử dụng chương trình con?

  • Chia mã code thành các đoạn mã nhỏ: Một chương trình máy tính trung bình có hàng nghìn dòng mã nguồn. Điều này thật sự rất 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ỏ có thể quản lý được
  • Tái sử dụng mã code: 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ổ của 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. Bạn có thể gọi nó sau đó từ bất kỳ cửa sổ nào mà bạn muốn.
  • Các chương trình con và hàm là mã self-documenting. Giả sử bạn có một hàm tính toán lãi vay và một hàm khác kết nối với cơ sở dữ liệu. Bằng cách chỉ cần nhìn vào tên của chương trình con hoặc hàm, lập trình viên sẽ có thể biết được chương trình đó có chức năng là gì. 

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

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

  • Tên của chương trình con hoặc hàm không thể chứa khoảng trắng
  • Tên của chương trình con hoặc hàm nên bắt đầu bằng một chữ cái hoặc dấu gạch dưới. Nó không thể được bắt đầu bằng số hay ký tự đặc biệt.
  • Tên của chương trình con hoặc hàm không thể là một từ khóa. Từ khóa là một từ có ý nghĩa đặc biệt trong VBA. Ví dụ như : Private, Sub, Function và End, …Trình biên dịch sử dụng chúng cho các nhiệm vụ cụ thể. 

Cú pháp của chương trình con trong VBA

Bạn sẽ cần phải kích hoạt tab Developer trong Excel để làm theo ví dụ này.

Chương trình con có cú pháp như sau:

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Trong đó:

CodeHành động
“Private Sub mySubRoutine(…)”Từ khóa “Sub” được sử dụng để khai báo tên của chương trình con 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 để chỉ định phạm vi của chương trình con
“ByVal arg1 As String, ByVal arg2 As String” :Khai báo hai tham số của kiểu dữ liệu chuỗi có tên là arg1 và arg2
“End Sub”“End Sub” được sử dụng để kết thúc phần thân của chương trình con

Cách gọi chương trình con trong VBA

  1. Thiết kế giao diện người dùng và thiết lập 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ã tạo nút lệnh gọi chương trình con.
  4. Kiểm tra
Xem thêm: Tự học lập trình VBA

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

Thiết kế giao diện người dùng như hình dưới đây:

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Thiết lập các thuộc tính:

S/NControlPropertyValue
1CommandButton1NamebtnDisplayFullName
2
CaptionFullname Subroutine

Giao diện của bạn sẽ trông như sau:

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

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

  1. Nhấn tổ hợp phím Alt + F11 để mở cửa sổ code
  2. Thêm chương trình con sau:
Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Trong đó:

CodeActions
“Private Sub displayFullName(…)”Khai báo một chương trình con riêng displayFullName (hiển thị họ tên) chấp nhận hai tham số chuỗi
“ByVal firstName As String, ByVal lastName As String”Khai báo hai biến tham số là firsName và lastName
MsgBox firstName & ” ” & lastName”Gọi hàm tích hợp MsgBox để hiển thị hộp thông báo. Sau đó chuyển các biến ‘firstName’ và ‘lastName’ thành tham sốDấu “&” được sử dụng để nối hai biến và thêm một khoảng trống ở giữa chúng

Bước 3: Gọi chương trình con bằng cách nhấn nút lệnh

Kích chuột phải vào nút lệnh như trong hình bên dưới. Chọn View Code. Trình chỉnh sửa mã sẽ mở.

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Thêm đoạn code sau vào trình chỉnh sửa mã cho việc nhấp nút lệnh btnDisplayFullName

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Cửa sổ code sẽ hiện ra như sau:

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Lưu thay đổi và đóng cửa sổ code

Bước 4: Kiểm tra code

Trên thanh công cụ, đặt chế độ Design Mode là “off” như hình dưới đây:

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Bước 5: Nhấp vào nút lệnh ‘FullName Subroutine’

Kết quả sẽ hiện ra như sau:

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Bạn có thể tải file Excel chứa mã code ở trên tại đây: https://drive.google.com/uc?export=download&id=0BwL5un1OyjsdTDg1QllTM2p0ZHM

Kết luận

  • Chương trình con hay còn gọi là Sub là một tập hợp các đoạn mã thực hiện một nhiệm vụ cụ thể.
  • Chương trình con không trả về kết quả sau khi lệnh được thực thi.
  • Chương trình con cung cấp khả năng tái sử dụng mã.
  • Chương trình con giúp chia đoạn mã lớn thành các đoạn mã nhỏ có thể quản lý được.

Hy vọng qua bài viết này, các bạn đã có thể hiểu thêm về các kiến thức trong VBA. Ngoài ra bạn có thể truy cập Gitiho để tham gia các khóa học hay về Tin học văn phòng như VBA, Excel, Power Point… để ứng dụng vào trong công việc được tốt hơn.

Đánh giá bài viết này

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông