Nhờ các bác giúp làm cách nào để lập lại một imputBox khi dữ liệu nhập sai

Liên hệ QC

phuongthao1182

Thành viên mới
Tham gia
15/8/07
Bài viết
8
Được thích
0
Nhờ các bác giúp làm cách nào để lập lại một imputBox khi du lieu nhap sai

Mình có đoạn mã sau:

Sub NgayNhapDL()
Range("E2").Value = InputBox("Ban muon nhap so lieu trong thang may??")
If Range("E2").Value = "" Then
MsgBox "Ban Nhap Sai Roi. Yeu cau nhap lai!", vbOKOnly, "Thao"
End If
End Sub

Nhờ các bác sửa giúp như sau nếu E2 = "" hiện ra Msg như trên và lập lại imputBox để nhập ngày tháng vào.
 
phuongthao1182 đã viết:
Mình có đoạn mã sau:

Sub NgayNhapDL()
Range("E2").Value = InputBox("Ban muon nhap so lieu trong thang may??")
If Range("E2").Value = "" Then
MsgBox "Ban Nhap Sai Roi. Yeu cau nhap lai!", vbOKOnly, "Thao"
End If
End Sub

Nhờ các bác sửa giúp như sau nếu E2 = "" hiện ra Msg như trên và lập lại imputBox để nhập ngày tháng vào.

bạn dùng cái này

Mã:
[COLOR=darkblue]Sub[/COLOR] NgayNhapDL()
[COLOR=darkblue]Dim[/COLOR] t
[COLOR=darkblue]Do[/COLOR]
    t = InputBox("Ban muon nhap so lieu trong thang may??")
[COLOR=darkblue]Loop[/COLOR] [COLOR=darkblue]Until[/COLOR] t <> ""
Range("E2").Value = t
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]Sub[/COLOR]

Thân

hoặc bạn dùng:
Mã:
[COLOR=darkblue]Sub[/COLOR] NgayNhapDL()
    Range("E2").Value  = Application.InputBox("Ban muon nhap so lieu trong thang may??", , , , , , , 1)
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]Sub[/COLOR]

sẽ ràng buộc dữ liệu trực tiếp luôn (hiển thị báo lỗi builtin của Excel).
 
Lần chỉnh sửa cuối:
nếu muốn nhập dữ liệu cho nhiều cột thì sau pác"SB"

PHP:
Sub NgayNhapDL()
    Range("E2").Value  = Application.InputBox("Ban muon nhap so lieu trong thang may??", , , , , , , 1)
End Sub
</DIV>
 
Có lẽ cần phải thêm đoạn code nào để định dạng cho E2, phòng khi người dùng nhập không đúng định dạng như mong muốn?
 
Lần chỉnh sửa cuối:
đây chỉ nhập số thôi có cách nào nhập chữ không zậy! vd:tháng mời thì nó cập nhập vào E2=tháng mười, thì sau nhỉ
 
Như thế này thì E2 nhận tất cả những gì gõ vào
Sub NgayNhapDL()
Range("E2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
End Sub
 
Application.InputBox("Ban muon nhap so lieu trong thang may??", , , , , , , Type:=1)

Khi sử dụng thêm expression Application,thì ta có thêm một tuỳ chọn Type cho câu lệnh, tuỳ vào yêu cầu dữ liệu nhập vào mà ta chọn Type tương ứng.
Đây là bảng giá trị của Type

Value Meaning
0 ----A formula
1 ----A number
2 ----Text (a string)
4 ----A logical value (True or False)
8 ----A cell reference, as a Range object
16 ---An error value, such as #N/A
64 ---An array of values

You can use the sum of the allowable values for Type. For example, for an input box that can accept both text and numbers, set Type to 1 + 2.


thân.
 
Lần chỉnh sửa cuối:
khi mình muốn nhập vào các ô định sẵn thì làm như zậy có gì sai sai không!E2,F2,G2
PHP:
Private Sub TextBox1_Change()
    Range("E2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
   Range("F2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
  Range("G2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
End Sub
 
ongtrungducmx25 đã viết:
khi mình muốn nhập vào các ô định sẵn thì làm như zậy có gì sai sai không!E2,F2,G2
PHP:
Private Sub TextBox1_Change()
Range("E2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
Range("F2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
Range("G2").Value = Application.InputBox("Ban muon nhap so lieu trong thang may??")
End Sub
Mình không hiểu bài toán của bạn như thế nào nhưng các câu lệnh trên bạn đặt trong sự kiện Change của Textbox thì rất rất.... không ổn rồi.
Mỗi khi bạn thay đổi 1 giá trị trong Textbox thôi là sẽ hiện ra các hộp thoại nhập liệu ngay...
 
mình muốn nhập vào các ô: E2;F2;G2 thì code trên viết như thế nào nhỉ
 
Có cách nào để khi nhập liệu vào imputbox phải nhập đúng đinh dạng dd/mm/yyyy không?
 
Web KT
Back
Top Bottom