VBA - Trả lại giá trị từ một thủ tục phụ

Hướng dẫn này sẽ dạy bạn cách trả về một giá trị từ một thủ tục con trong VBA.

Một thủ tục con không được thiết kế để trả về một giá trị - đó là những gì một thủ tục hàm được sử dụng cho. Tuy nhiên, có thể có lúc bạn đang chạy một số mã trong một thủ tục con mà bạn cần lấy một giá trị từ thủ tục con đó. Cách để thực hiện việc này là sử dụng Mô-đun hoặc Biến toàn cục hoặc sử dụng Thủ tục phụ để điền trang tính Excel.

Sử dụng các biến để trả lại giá trị

Bạn có thể khai báo các biến ở cấp mô-đun. Khi làm như vậy, các biến đó có thể được sử dụng ở bất kỳ đâu trong mô-đun và các biến vẫn giữ nguyên giá trị của chúng. Để khai báo một biến ở cấp mô-đun, chỉ cần khai báo biến ở đầu mô-đun mã của bạn:

123456789 Tùy chọn rõ ràngDim dblQty as DoubleSub TestA ()'gọi phụ TestBGọi TestB'hiển thị giá trị biến trong cửa sổ mô-đunDebug.Print dblQtyKết thúc Sub
1234 Kiểm tra phụB ()'điền biến mô-đundblQty = 900Kết thúc Sub

Để kết hợp chúng lại với nhau, chúng tôi sẽ chạy TestA, sau đó sẽ gọi TestB và cung cấp cho chúng tôi giá trị 900 trong cửa sổ ngay lập tức.

Điều này sẽ chỉ hoạt động trong mô-đun, vì biến đã được khai báo bằng cách sử dụng câu lệnh Dim ở mức Mô-đun.

Biến toàn cầu

Bạn có thể khai báo biến ở mức toàn cục để sử dụng nó trong suốt các mô-đun dự án của mình.

Sử dụng một thủ tục phụ để điền một trang tính Excel

Thủ tục phụ bên dưới sẽ điền trực tiếp Dải ô A1 đến C1 trong trang tính Excel của bạn, do đó trả về giá trị cho các ô từ Thủ tục phụ.

12345 Sub PopulateRange ()Phạm vi ("A1") = "Sản phẩm"Phạm vi ("B1") = "Số lượng"Phạm vi ("C1") = "Chi phí"Kết thúc Sub

Sau đó, bạn có thể tham chiếu các giá trị đó trong một quy trình khác bằng cách tham chiếu các giá trị ô:

1234567 Sub RetrieveRange ()Làm mờ sản phẩm dưới dạng chuỗi, số lượng dài, chi phí tăng gấp đôiSản phẩm = Phạm vi ("A1")Quant = Phạm vi ("B1")Chi phí = Phạm vi ("C1")Kế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