Tin tức mới

VBA – InputBox

1. InputBox là gì?

InputBox là hộp thoại cho phép người dùng nhập dữ liệu vào trong VBA.
👉 Khác với MsgBox:
MsgBox → chỉ hiển thị
InputBox → nhập + trả về giá trị

2. Cú pháp cơ bản


InputBox(prompt, [ title], [default])

Trong đó:
prompt: nội dung yêu cầu nhập
title: tiêu đề hộp thoại
default: giá trị mặc định

3. Ví dụ đơn giản


Sub TestInput()
    Dim name As String
    
    name = InputBox("Nhap ten cua ban:")
    
    MsgBox "Xin chao " & name
End Sub
Inputbox đơn giản
Inputbox đơn giản
Inputbox - Nhập tên của bạn
Inputbox – Nhập tên của bạn
Inputbox - Msgbox kết quả
Inputbox – Msgbox kết quả

4. Có tiêu đề + giá trị mặc định


Sub InputWithDefault()
    Dim city As String
    
    city = InputBox("Nhap thanh pho:", "Thong tin", "Ha Noi")
    
    MsgBox "Ban o " & city
End Sub
Inputbox với giá trị mặc định
Inputbox với giá trị mặc định
Inputbox giá trị mặc định
Inputbox giá trị mặc định
Inputbox nhập giá trị mong muốn
Inputbox nhập giá trị mong muốn
Inputbox - Msgbox giá trị nhập vào
Inputbox – Msgbox giá trị nhập vào

5. Input số


Sub InputNumber()
    Dim age As Integer
    
    age = InputBox("Nhap tuoi:")
    
    MsgBox "Tuoi cua ban la " & age
End Sub

⚠️ Lưu ý:
InputBox luôn trả về String
VBA sẽ tự ép kiểu → có thể lỗi nếu nhập chữ

InputBox - nhập số
InputBox – nhập số
InputBox - nhập vào số
InputBox – nhập vào số
Inputbox - Msgbox kết quả số
Inputbox – Msgbox kết quả số

6. Kiểm tra dữ liệu nhập


Sub ValidateInput()
    Dim age As Variant
    
    age = InputBox("Nhap tuoi:")
    
    If Not IsNumeric(age) Then
        MsgBox "Vui long nhap so!", vbExclamation
        Exit Sub
    End If
    
    MsgBox "Tuoi hop le: " & age
End Sub
Inputbox - kiểm tra nhập số
Inputbox – kiểm tra nhập số
Inputbox - kiểm tra nhập số- người dùng nhập chữ cái
Inputbox – kiểm tra nhập số- người dùng nhập chữ cái
Inputbox - thông báo cần nhập số
Inputbox – thông báo cần nhập số
Inputbox - người dùng nhập số
Inputbox – người dùng nhập số
Inputbox - thông báo nhập số hợp lệ
Inputbox – thông báo nhập số hợp lệ

7. Xử lý khi người dùng bấm Cancel


Sub HandleCancel()
    Dim value As String
    
    value = InputBox("Nhap gi do:")
    
    If value = "" Then
        MsgBox "Ban da huy hoac khong nhap!"
        Exit Sub
    End If
    
    MsgBox "Ban nhap: " & value
End Sub

👉 Giải thích:

Khi người dùng bấm Cancel → InputBox trả về chuỗi rỗng “”
Vì vậy cần kiểm tra value = “” để tránh lỗi xử lý phía sau

8. Ví dụ thực tế trong Excel

Nhập dữ liệu vào ô


Sub InputToCell()
    Dim product As String
    
    product = InputBox("Nhap ten san pham:")
    
    If product <> "" Then
        Range("A1").Value = product
    End If
End Sub

Nhập số và tính toán


Sub CalculateSum()
    Dim a As Double
    Dim b As Double
    
    a = InputBox("Nhap so A:")
    b = InputBox("Nhap so B:")
    
    MsgBox "Tong la: " & (a + b)
End Sub

9. InputBox nâng cao (Application.InputBox)

👉 Dùng khi cần chọn vùng (Range)


Sub SelectRange()
    Dim rng As Range
    
    Set rng = Application.InputBox("Chon vung:", Type:=8)
    
    rng.Interior.Color = vbYellow
End Sub

Type quan trọng:

Type Ý nghĩa
1 Số
2 Chuỗi
8 Range (QUAN TRỌNG)

10. So sánh nhanh

Loại Dùng khi
InputBox Nhập đơn giản
Application.InputBox Nhập nâng cao (Range, kiểu dữ liệu)

Leave a Reply

Your email address will not be published. Required fields are marked *