Hàm VBA InputBox | Làm thế nào để tạo InputBox & Lưu trữ các giá trị?
Hộp đầu vào VBA trong Excel
VBA InputBox là hàm có sẵn được sử dụng để lấy giá trị từ người dùng, hàm này có hai đối số chính trong đó một là tiêu đề cho hộp nhập và một đối số khác là câu hỏi cho hộp nhập, hàm hộp nhập chỉ có thể lưu trữ các kiểu dữ liệu đầu vào. mà biến nó có thể giữ.
Thông thường trong excel, chúng ta sử dụng dữ liệu đã có sẵn trong trang tính excel. Đôi khi chúng tôi cũng cần một số loại dữ liệu đầu vào từ người dùng. Đặc biệt là trong VBA đầu vào từ người dùng đôi khi được yêu cầu.
Bằng cách sử dụng InputBox, chúng tôi có thể lấy dữ liệu từ người dùng và sử dụng nó cho mục đích của chúng tôi. Một InputBox sẽ yêu cầu người dùng nhập giá trị bằng cách hiển thị InputBox.
Cú pháp
- Lời nhắc: Đây không là gì ngoài thông báo cho người dùng thông qua một hộp nhập liệu.
- Tiêu đề: Tiêu đề của hộp nhập liệu là gì?
- Mặc định: Giá trị mặc định của hộp nhập là gì? Giá trị này xuất hiện trong vùng nhập của hộp nhập liệu.
Ba tham số này là đủ tốt trong Excel, hãy bỏ qua 4 tham số tùy chọn khác. Để hiểu cú pháp này, hãy xem ảnh chụp màn hình bên dưới.
Làm thế nào để tạo InputBox trong VBA?
Được rồi, hãy chuyển thẳng sang tính thực tế. Làm theo các bước dưới đây để tạo hộp nhập liệu đầu tiên của bạn.
Bạn có thể tải xuống Mẫu VBA InputBox Excel này tại đây - Mẫu VBA InputBox ExcelBước 1: Đi tới VBE (Visual Basic Editor) và chèn một mô-đun mới.
Bước 2: Nhấp đúp vào mô-đun được chèn và tạo tên macro.
Bước 3: Bắt đầu gõ từ “InputBox”, bạn sẽ thấy các tùy chọn liên quan.
Bước 4: Chọn mục INPUTBOX và cho khoảng trắng và bạn sẽ thấy cú pháp của hộp nhập.
Bước 5: Đưa ra lời nhắc là “Vui lòng nhập tên của bạn”.
Bước 6: Nhập Tiêu đề của hộp nhập là “Thông tin cá nhân”.
Bước 7: Nhập giá trị mặc định là "Nhập vào đây"
Bước 8: Chúng tôi đã hoàn tất. Chạy mã này và xem hộp nhập liệu đầu tiên của bạn.
Lưu trữ giá trị của InputBox vào các ô
Bây giờ chúng ta sẽ đi qua quá trình lưu trữ các giá trị trong các ô. Làm theo các bước dưới đây.
Bước 1: Khai báo biến là Variant.
Mã:
Sub InputBox_Example () Dim i As Variant End Sub Sub
Bước 2: Đối với biến này, gán giá trị thông qua hộp nhập liệu.
Mã:
Sub InputBox_Example () Dim i As Variant i = InputBox ("Vui lòng nhập Tên của bạn", "Thông tin Cá nhân", "Nhập vào đây") Kết thúc Sub
Lưu ý: Khi hộp nhập ở bên phải của dấu bằng, chúng ta cần nhập các đối số hoặc cú pháp trong dấu ngoặc như các công thức thông thường của chúng ta.
Bước 3: Bây giờ bất kỳ giá trị nào được nhập vào ô nhập liệu, chúng ta cần lưu trữ giá trị đó trong ô A1. Vì vậy, đối với điều này, hãy viết mã là Phạm vi (“A1”). Giá trị = i
Mã:
Sub InputBox_Example () Dim i As Variant i = InputBox ("Vui lòng nhập Tên của bạn", "Thông tin Cá nhân", "Nhập ở đây") Phạm vi ("A1"). Giá trị = i Kết thúc Sub
Ok, chúng tôi đã hoàn thành. Hãy chạy mã này ngay bây giờ bằng cách nhấn phím F5 hoặc bạn cũng có thể chạy mã theo cách thủ công như được hiển thị trong ảnh chụp màn hình bên dưới.
Ngay sau khi bạn chạy mã này, chúng tôi sẽ thấy hộp nhập liệu.
Nhập tên và nhấp vào Ok.
Ngay sau khi bạn nhập tên và nhấp vào OK, bạn sẽ thấy giá trị hộp nhập trong ô A1.
Lưu ý: Chúng tôi có thể lưu trữ bất kỳ giá trị nào từ hộp nhập liệu nếu biến được xác định đúng cách. Trong ví dụ trên, tôi đã định nghĩa biến là Biến thể có thể chứa tất cả các loại dữ liệu.
Ví dụ, bây giờ tôi đã thay đổi loại biến thành Ngày.
Bây giờ hãy chạy mã và nhập khác với ngày.
Nhấp vào ok và xem phản hồi là gì.
Chúng tôi nhận được giá trị lỗi là Loại không khớp . Vì chúng tôi đã khai báo kiểu dữ liệu biến là DATE, chúng tôi không thể lưu trữ bất kỳ thứ gì khác ngoài DATE với một hộp nhập.
Bây giờ hãy nhập ngày và xem điều gì sẽ xảy ra.
Ngay sau khi bạn nhập ngày và sau đó nhấp vào OK và xem phản hồi là gì.
Vì chúng tôi đã nhập giá trị chính xác, chúng tôi nhận được kết quả trong ô.
Xác thực đầu vào từ người dùng
Bạn biết những gì chúng tôi thực sự có thể cho phép người dùng chỉ nhập giá trị cụ thể, tức là cho phép người dùng chỉ nhập văn bản, chỉ số, chỉ các giá trị logic và v.v.
Để thực hiện tác vụ này, chúng ta cần sử dụng phương thức Application.InputBox.
Hãy xem cú pháp của Application.InputBox.
- Lời nhắc: Đây không là gì ngoài thông báo cho người dùng thông qua một hộp nhập liệu.
- Tiêu đề: Tiêu đề của hộp nhập liệu là gì?
- Mặc định: Giá trị mặc định của hộp nhập là gì? Giá trị này xuất hiện trong vùng nhập của hộp nhập liệu.
- Bên trái: Vị trí x của hộp nhập liệu trong cửa sổ hiện tại là bao nhiêu?
- Đầu trang: Vị trí y của hộp nhập liệu trong cửa sổ hiện tại là gì?
Để bắt đầu inputbox này, hãy khai báo biến và gán giá trị cho một biến.
Bây giờ để gán giá trị để bắt đầu từ Ứng dụng.
Sau từ Application, hãy đặt một dấu chấm (.) Và gõ Inputbox.
Chọn hộp nhập liệu và mở dấu ngoặc.
Như thường lệ, hãy nhập Lời nhắc, Tiêu đề và Giá trị Mặc định.
Bây giờ bỏ qua trái, trên cùng, tệp trợ giúp, ID ngữ cảnh trợ giúp bằng cách gõ 5 dấu phẩy (,).
Ở đây Loại có nghĩa là chuỗi đầu vào phải là gì. Dưới đây là các xác nhận có sẵn.
Vì vậy, theo đó, hãy chọn loại của bạn. Tôi đã chọn 1 làm tham số, tức là chỉ số.
Bây giờ hãy chạy mã và loại giá trị văn bản.
Nhấp vào OK và xem điều gì sẽ xảy ra.
Nó cho biết số không hợp lệ. Vì vậy, chúng tôi chỉ có thể nhập số vào hộp nhập này.
Những điều cần ghi nhớ
- Chúng ta cần một biến để lưu trữ giá trị được đưa ra bởi hộp nhập liệu.
- Nếu bạn đang sử dụng InputBox mà không có phương thức Ứng dụng thì bạn nên hoàn thiện về kiểu dữ liệu biến.
- Sử dụng kiểu dữ liệu Biến thể có thể chứa bất kỳ loại kiểu dữ liệu nào và lưu trữ.