06/04/2021, 14:51

Hộp thoại InputBox trong VBA - ự học Excel VBA

Trong bài này chúng ta sẽ tìm hiểu cách sử dụng hộp thoại InputBox trong VBA, đây là hàm dùng để lấy thông tin từ người dùng. Có một số chức năng yêu cầu người dùng nhập một giá trị nào đó thì này ta sẽ sử dụng hộp thoại InputBox VBA. Hộp thoại này sẽ yêu cầu người dùng nhập dữ liệu vào, sau đó ...

Trong bài này chúng ta sẽ tìm hiểu cách sử dụng hộp thoại InputBox trong VBA, đây là hàm dùng để lấy thông tin từ người dùng.

Có một số chức năng yêu cầu người dùng nhập một giá trị nào đó thì này ta sẽ sử dụng hộp thoại InputBox VBA. Hộp thoại này sẽ yêu cầu người dùng nhập dữ liệu vào, sau đó nhấn Ok hoặc Enter thì sẽ trả về giá trị mà người dùng đã nhập. Nếu nhán Cancel hoặc dấu X thì sẽ trả về một giá trị rỗng.

1. Cú pháp của InputBox VBA

Trước tiên hãy tham khảo cú pháp của hộp thoại InputBox.

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

Trong đó:

  • Prompt là tham số bắt buộc, là nội dung tin nhắn trong hộp thoại giúp người dùng biết được là bạn đang cần dữ liệu gì.
  • Title là tham số tùy chọn, đây là tiêu đề của hộp thoại InputBox
  • Default là tham số tùy chọn, là giá trị mặc định trong ô nhập dữ liệu của người dùng lúc xuất hiện.
  • XPos/YPos là tham số tùy chọn, là vị trí của trục X à Y của hộp thoại sẽ xuất hiện trên màn hình
  • Hai tham số cuối cùng là helpfile,context rất ít khi được sử dụng.

Ví dụ: Viết một Macro yêu cầu nhập tên của người dùng.

Sub getInfor()
    Dim name As String
    name = InputBox("Nhap ten cua ban!")
    MsgBox "Ten cua ban la: " & name
End Sub

Kết quả:

hop thoai inputbox JPG

2. Một vài ví dụ khác về InputBox trong VBA

Mình sẽ viết thêm một ví dụ nữa về cách sử dụng hộp thoại InputBox VBA nhé.

Viết chương trình yêu cầu người dùng nhập thông tin gồm tên, tuổi, và blog. Sau đó hãy in thông tin này lên các ô A1, A2 A3.

Sub getInfor()
    Dim name, domain As String
    Dim age As Integer
    
    name = InputBox("Nhap ten cua ban!")
    age = InputBox("Nhap tuoi cua ban!")
    domain = InputBox("Nhap domain cua ban!")
    
    Range("A1").Value = name
    Range("A2").Value = age
    Range("A3").Value = domain
End Sub

Chạy macro này và nhập thông tin của mình thì kết quả sẽ như sau:

ket qua inputbox JPG

Trên là cách sử dụng hộp thoại InputBox trong VBA để lấy thông tin người dùng.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0