VBA Sub | Làm thế nào để gọi thủ tục phụ trong mã VBA?
Thủ tục phụ Excel VBA
SUB trong VBA còn được gọi là một chương trình con hoặc một thủ tục chứa tất cả mã, nó là một câu lệnh có sẵn trong VBA và khi được sử dụng nó sẽ tự động cung cấp cho chúng ta câu lệnh end sub và phần giữa được sử dụng để viết mã, câu lệnh sub có thể cả công khai và riêng tư và tên của quy trình con là bắt buộc trong VBA.
Sub có nghĩa là Thủ tục phụ trong VBA. Các thủ tục phụ được sử dụng để thực hiện một nhóm tác vụ cụ thể được cung cấp dưới dạng mã. Nó chỉ thực hiện tác vụ được đề cập trong mã theo ngôn ngữ VBA nhưng không trả về bất kỳ loại giá trị nào.
Làm thế nào để viết các thủ tục phụ VBA?
Bạn có thể tải xuống Mẫu thủ tục phụ VBA này tại đây - Mẫu thủ tục phụ VBAĐể viết mã thủ tục con, điều quan trọng là phải hiểu cấu trúc của thủ tục con. Dưới đây là cấu trúc
Sub [Tên thủ tục] (Tham số) [Cần phải làm gì?]) End Sub
Để bắt đầu quy trình con, chúng ta cần sử dụng từ “Sub” và chúng ta cần đặt tên cho Sub làm tên thủ tục. Tên thủ tục không là gì ngoài tên macro của chúng tôi. Trong quy trình con VBA, chúng ta thường không có các tham số bên trong dấu ngoặc đơn.
Sau khi viết xong tên Sub thủ tục chúng ta cần viết các công việc cần thực hiện. Sau đó đến câu lệnh End tức là End Sub.
Ví dụ # 1 - Thủ tục phụ đơn giản
Bây giờ hãy xem các phương pháp viết thủ tục con đơn giản.
Bước 1: Bắt đầu từ “Sub” trong mô-đun.
Bước 2: Bây giờ đặt tên cho tên macro hoặc tên thủ tục.
Bước 3: Sau khi đặt tên cho thủ tục con chỉ cần nhấn phím enter là nó sẽ tự động áp dụng câu lệnh kết thúc.
Bây giờ chúng ta có thể thấy hai điều ở đây, một là bắt đầu và một là kết thúc của quy trình con. Để hiểu rõ hơn, chúng ta có thể gọi nó là “Đầu” & “Đuôi”.
Giữa phần đầu và phần đuôi của macro, chúng ta cần viết mã của mình để thực hiện một số tác vụ.
Ví dụ # 2 - Nhiệm vụ chương trình con đơn giản
Ok, bây giờ chúng ta sẽ xem cách thực hiện một số hành động đơn giản ở đây.
Giả sử bạn muốn chèn giá trị “Excel VBA” vào ô A1.
Bước 1: Bắt đầu quy trình con bằng cách sử dụng các phương pháp trên.
Mã:
Sub Action1 () End Sub
Bước 2: Để truy cập vào ô A1 chúng ta cần sử dụng từ RANGE.
Mã:
Hành động phụ 1 () Phạm vi (Kết thúc phụ
Bước 3: Nó hỏi ô1 bạn muốn tham chiếu là gì? Trong trường hợp này, nó là một ô A1.
Mã:
Hành động phụ 1 () Phạm vi ("A1") Kết thúc hành động phụ
Bước 4: Chúng ta cần chèn giá trị “Excel VBA”, vì vậy hãy chọn thuộc tính VALUE bằng cách đặt dấu chấm sau phạm vi.
Mã:
Hành động phụ 1 () Phạm vi ("A1"). Giá trị cuối Hành động phụ
Khi bạn bắt đầu nhập từ VALUE, bạn sẽ thấy nhiều tùy chọn và những tùy chọn này được gọi là danh sách IntelliSense dự đoán dựa trên những gì bạn đang nhập. Điều này giống như cách các công thức sẽ xuất hiện trong trang tính khi chúng ta bắt đầu nhập công thức.
Bước 5: Sau khi chọn GIÁ TRỊ, hãy đặt một dấu bằng và nhập giá trị trong dấu ngoặc kép là “Excel VBA”.
Mã:
Hành động phụ 1 () Phạm vi ("A1"). Giá trị = "Excel VBA" Kết thúc phụ
Vậy là xong.
Bây giờ chúng ta cần thực hiện nhiệm vụ này. Để thực hiện tác vụ mà chúng tôi đã trả lại, chúng tôi cần chạy mã này bằng cách nhấn nút RUN trong cửa sổ trình chỉnh sửa cơ bản trực quan.
Chúng ta cũng có thể nhấn phím tắt excel bằng cách đặt con trỏ bên trong mã macro.
Ngay sau khi bạn chạy mã, bạn sẽ nhận được giá trị “Excel VBA” trong ô A1.
Các loại chương trình con VBA
Chúng tôi có hai loại nữa trong Thủ tục phụ, một là Thủ tục phụ công khai và loại thứ hai là Thủ tục phụ riêng.
Các từ “Công khai” và “Riêng tư” là các công cụ sửa đổi trợ năng cho phép chúng tôi sử dụng chúng theo cách khác nhau.
- Quy trình phụ công khai cho phép chúng tôi sử dụng quy trình này trong tất cả các mô-đun của sổ làm việc.
- Thủ tục phụ cá nhân cho phép chúng tôi sử dụng thủ tục chỉ trong mô-đun hiện tại, không ở đâu khác.
Ví dụ: hãy xem hình ảnh bên dưới của Mã công khai có trong Mô-đun 1.
Bây giờ trong Học phần 2, tôi cũng có thể sử dụng quy trình con này.
Action1 là tên của quy trình con mà chúng tôi đã sử dụng trong Học phần 1.
Trong Học phần 2, tôi đã đề cập đến nó là “Call Action1”. Điều này có nghĩa là khi bạn chạy quy trình con, nó sẽ thực thi quy trình con Action1 từ Mô-đun 1.
Không thể truy cập các Thủ tục phụ riêng tư từ một mô-đun khác, chúng ta chỉ cần truy cập chúng từ cùng một mô-đun.