VBA Đóng UserForm | 2 phương pháp hàng đầu để đóng biểu mẫu người dùng với ví dụ
Khi chúng tôi tạo biểu mẫu người dùng, nó sẽ lấy dữ liệu làm đầu vào từ người dùng, nhưng dữ liệu được cung cấp cho biểu mẫu không tự đóng, vì vậy nó có thể đánh lừa người dùng nhập lại dữ liệu, chúng tôi sử dụng hai lệnh khác nhau để đóng biểu mẫu người dùng khi đầu vào có được đưa ra và chúng là phương thức Unload me để đóng userform hoặc chúng ta có thể sử dụng phương thức userform.hide.
Excel VBA Đóng biểu mẫu người dùng
Biểu mẫu người dùng rất quan trọng trong khi nhận đầu vào từ người dùng như một phần của dự án VBA. Chúng tôi thường thiết kế biểu mẫu người dùng trước khi chúng tôi trình bày nó trước mặt người dùng. Sau khi thiết kế biểu mẫu người dùng VBA hoàn tất, chúng tôi cần hiển thị biểu mẫu tương tự trước mặt người dùng và yêu cầu mã hóa VBA. Tương tự như vậy để đóng biểu mẫu người dùng, nó yêu cầu kiến thức mã hóa VBA.
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách đóng biểu mẫu người dùng trong mã hóa VBA.
Làm thế nào để đóng UserForm trong Excel VBA?
Khi mục đích của biểu mẫu người dùng được thực hiện, có một điểm trong việc tiếp tục hiển thị biểu mẫu người dùng trước mặt người dùng, vì vậy chúng ta cần đóng biểu mẫu người dùng. Chúng ta có thể đóng biểu mẫu người dùng bằng cách sử dụng câu lệnh “Unload Me” và câu lệnh “UserForm.Hide”. Mặc dù cả hai hơi khác nhau nhưng cuối cùng sẽ phục vụ cho mục đích của chúng ta.
Bạn có thể tải xuống Mẫu Excel Đóng UserForm VBA này tại đây - VBA Đóng Mẫu Excel UserForm# 1 - Đóng biểu mẫu người dùng bằng câu lệnh “Unload Me” trong VBA
Ví dụ: hãy nhìn vào hình ảnh bên dưới của biểu mẫu người dùng.
Tôi đã đặt tên biểu mẫu người dùng là “MyUserForm”.
Nếu tôi chạy biểu mẫu người dùng, chúng ta sẽ thấy biểu mẫu người dùng như bên dưới.
Tôi cần điền các chi tiết được yêu cầu, khi thông tin đã điền nếu tôi nhấp vào nút Gửi, nó sẽ thu thập dữ liệu tương tự vào trang tính hiển thị ở phía bên trái.
Khi nhấp vào nút gửi, nó đã thu thập dữ liệu mà tôi đã nhập vào biểu mẫu người dùng.
Nếu bạn nhận thấy, chúng tôi có một nút nữa được gọi là "Hủy". Điều này làm gì?
Trước khi hiển thị biểu mẫu người dùng, chúng ta cần cấu hình nút này. Bây giờ tôi sẽ quay lại trình chỉnh sửa cơ bản trực quan để định cấu hình nút này.
Bây giờ tôi sẽ nhấp đúp vào nút Cancel và nó sẽ mở ra quy trình con VBA tự động như bên dưới.
Trong quy trình này, chúng ta cần viết mã VBA về những gì sẽ xảy ra nếu chúng ta nhấp vào nút Hủy. Khi chúng tôi nhấp vào nút hủy này, nó sẽ đóng Biểu mẫu người dùng mà chúng tôi đang làm việc vào lúc này.
Vì vậy, hãy viết mã là "Unload Me".
Mã:
Sub riêng tư HủyButton_Click () Unload Me End Sub
“Unload Me” là từ chúng tôi sử dụng để đóng biểu mẫu người dùng mà chúng tôi đang làm việc. Ở đây biểu mẫu người dùng nhận ra từ “Tôi” là chính UserForm.
“Unload Me” chỉ có thể được sử dụng trên thủ tục biểu mẫu người dùng đó, chúng tôi không thể gọi câu lệnh này trong các mô-đun khác. Nếu được gọi, nó sẽ hiển thị thông báo lỗi là “ Sử dụng từ khóa của tôi không hợp lệ ”.
Ok, hãy chạy mã bằng phím F5 hoặc theo cách thủ công bây giờ, chúng ta sẽ thấy biểu mẫu người dùng trống.
Điền dữ liệu và nhấp vào Gửi.
Sau khi nhấp vào nút gửi, nó sẽ lưu trữ các giá trị vào các ô được đề cập.
Nếu nhập dữ liệu xong, chúng ta cần đóng userform phải không ??
Vì vậy, hãy nhấp vào nút Hủy để đóng biểu mẫu người dùng, nó sẽ đóng biểu mẫu người dùng.
# 2 - Đóng UserForm bằng phương pháp ẩn trong Excel VBA
Chúng tôi cũng có thể đóng Biểu mẫu người dùng bằng cách sử dụng phương pháp "Ẩn" trong VBA. Bây giờ một lần nữa tôi sẽ nhấp đúp vào nút hủy để xem quy trình con riêng tư.
Vì chúng tôi đã viết mã để đóng biểu mẫu người dùng, chúng tôi có thể thấy mã hiện có trong VBA. Bây giờ tôi sẽ xóa cái này.
Để sử dụng phương thức Ẩn, chúng ta cần gọi biểu mẫu người dùng bằng tên của nó. Trong trường hợp này, tên biểu mẫu người dùng của chúng tôi là “MyUserForm”.
Sau khi đề cập đến biểu mẫu người dùng bằng tên của nó nếu chúng ta đặt dấu chấm (.), Chúng ta có thể thấy tất cả các thuộc tính và phương thức của biểu mẫu người dùng này. Bây giờ tôi sẽ chọn phương pháp "Ẩn".
Được rồi, hãy chạy biểu mẫu người dùng một lần nữa. Chúng tôi sẽ thấy biểu mẫu người dùng trống, hãy điền thông tin chi tiết trước.
Bây giờ không cần nhấp vào nút Gửi, tôi sẽ nhấp vào nút hủy, nó sẽ ẩn biểu mẫu người dùng.
Sự khác biệt giữa Unload & Hide trong Excel VBA
Bạn phải có câu hỏi sự khác biệt giữa Unload & Hide là gì, nơi cả hai đều phục vụ một mục đích giống nhau. Có một sự khác biệt giữa hai điều này. Bây giờ đầu tiên tôi sẽ sử dụng câu lệnh Unload Me. Nhìn vào hình ảnh dưới đây.
Tôi đã nhập dữ liệu vào biểu mẫu người dùng nhưng chưa gửi. Nếu tôi nhấp vào Hủy, nó sẽ dỡ bỏ biểu mẫu người dùng.
Bây giờ một lần nữa tôi sẽ chạy mã thông qua phím tắt F5 của excel hoặc theo cách thủ công, nó sẽ hiển thị biểu mẫu người dùng trống.
Mặc dù tôi đã nhập dữ liệu chính xác do nhầm lẫn, tôi đã nhấp vào nút hủy, khi biểu mẫu người dùng mới xuất hiện trở lại, tôi đã điền dữ liệu từ đầu.
Bây giờ tôi sẽ sử dụng phương pháp "Ẩn".
Không, tôi sẽ nhấp vào nút hủy bỏ, nó sẽ ẩn biểu mẫu người dùng có thể nhìn thấy. Nhưng khi tôi chạy lại macro, nó sẽ quay lại với dữ liệu mà tôi đã nhập trên biểu mẫu người dùng.
Đây là cách chúng ta có thể sử dụng câu lệnh "Unload" & "Hide" để đóng biểu mẫu người dùng trong Excel VBA.