Sửa nút "ok" để không cho nhập mã vật tư bị trùng với mã đã có trong danh sách (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

minhcong.tckt

Thành viên thường trực
Tham gia
13/4/11
Bài viết
385
Được thích
36
Giới tính
Nam
Các bác xem trong file đính kèm, sửa giúp em:
Tại sheet: DATA anh/ chị ấn vào nút thêm vật tư, em muốn nếu mã vật tư mới điền vào mà bị trùng với mã đã có trong "DM_vattu" thì không cho lưu ( có thêm thông báo), và chỉ con chuột vào ô mã vật tư để sửa lại mã khác, nếu không trùng mới cho lưu thì sửa thế nào ạ
 

File đính kèm

Các bác xem trong file đính kèm, sửa giúp em:
Tại sheet: DATA anh/ chị ấn vào nút thêm vật tư, em muốn nếu mã vật tư mới điền vào mà bị trùng với mã đã có trong "DM_vattu" thì không cho lưu ( có thêm thông báo), và chỉ con chuột vào ô mã vật tư để sửa lại mã khác, nếu không trùng mới cho lưu thì sửa thế nào ạ

Mã:
If TextVT.Text = "" Then
    MsgBox "Ban Chua Nhap Ma vat tu"
    TextVT.SetFocus
Else
    Set mavt = Sheets("DM_vattu").[b:b]
    If Not mavt Is Nothing Then MsgBox "Trung roi ban oi":  TextVT.SetFocus: Exit Sub
End If
 
Upvote 0
Mã:
If TextVT.Text = "" Then
    MsgBox "Ban Chua Nhap Ma vat tu"
    TextVT.SetFocus
Else
    Set mavt = Sheets("DM_vattu").[b:b]
    If Not mavt Is Nothing Then MsgBox "Trung roi ban oi":  TextVT.SetFocus: Exit Sub
End If

trong file ở trên thì
Mã:
Sheets("DM_vattu").[b:b]

là đối tượng có thật , sao ta lại cần kiểm tra

Mã:
If Not mavt Is Nothing

vậy anh Let' Gâu Gâu ơi ? **~****~**
 
Upvote 0
Mã:
If TextVT.Text = "" Then
    MsgBox "Ban Chua Nhap Ma vat tu"
    TextVT.SetFocus
Else
    Set mavt = Sheets("DM_vattu").[b:b]
    If Not mavt Is Nothing Then MsgBox "Trung roi ban oi":  TextVT.SetFocus: Exit Sub
End If
Bác thử đoạn code vào file chưa ạ, em thấy báo trùng nhưng vẫn cho nhập, cần sửa lại chỗ này MsgBox "Trung roi ban oi": TextVT.SetFocus: Exit Sub
 
Upvote 0
Bác thử đoạn code vào file chưa ạ, em thấy báo trùng nhưng vẫn cho nhập, cần sửa lại chỗ này MsgBox "Trung roi ban oi": TextVT.SetFocus: Exit Sub
Có thể thêm đoạn code này chẳng hạn:
[GPECODE=vb]On Error Resume Next
Set MaVT = Sheets("DM_vattu").[B6:B1000].Find(UCase(TextVT), LookAt:=xlWhole)
If Not MaVT Is Nothing Then
MsgBox "Ma vat tu da ton tai. Hay nhap lai!"
TextVT = ""
TextVT.SetFocus
Exit Sub
End If[/GPECODE]
 
Upvote 0
Có thể thêm đoạn code này chẳng hạn:
[GPECODE=vb]On Error Resume Next
Set MaVT = Sheets("DM_vattu").[B6:B1000].Find(UCase(TextVT), LookAt:=xlWhole)
If Not MaVT Is Nothing Then
MsgBox "Ma vat tu da ton tai. Hay nhap lai!"
TextVT = ""
TextVT.SetFocus
Exit Sub
End If[/GPECODE]
Em copy đoạn code của anh vào file thử không được, anh thử code đoạn code đó vào file và chỉnh lại giúp em với
Em thấy thông báo nhưng dữ liệu vẫn được nhập vào sheet "DM_vattu"
 
Upvote 0
Bạn làm thế nào mà không được... Bạn biết code, người ta gợi í cho bạn vậy...chắc là bạn đưa đoạn code vào không đúng chỗ...

Mã:
Private Sub CmdOK_Click()
Sheets("DATA").Activate
NextRow = Application.WorksheetFunction.Max(Sheet2.Range("B5536").End(xlUp).Row + 1, 11)
[COLOR=#ff0000][B]On Error Resume Next[/B][/COLOR]
[COLOR=#ff0000][B]Set MaVT = Sheets("DM_vattu").[B6:B1000].Find(UCase(TextVT), LookAt:=xlWhole)[/B][/COLOR]
[COLOR=#ff0000][B]If Not MaVT Is Nothing Then[/B][/COLOR]
[COLOR=#ff0000][B]    MsgBox "Ma vat tu da ton tai. Hay nhap lai!"[/B][/COLOR]
[COLOR=#ff0000][B]    TextVT = ""[/B][/COLOR]
[COLOR=#ff0000][B]    TextVT.SetFocus[/B][/COLOR]
[COLOR=#ff0000][B]    Exit Sub[/B][/COLOR]
[COLOR=#ff0000][B]End If[/B][/COLOR]
Sheet2.Cells(NextRow, 2) = TextVT.Text
Sheet2.Cells(NextRow, 3) = TextTenVT.Text
Sheet2.Cells(NextRow, 4) = TextDVT.Text
'Dam bao ten da duoc nhap vao
If TextVT.Text = "" Then
MsgBox "Ban Chua Nhap Ma vat tu"
TextVT.SetFocus
TextTenVT.SetFocus
End If
'Xoa toan bo dieu khien khi ket thuc phieu
TextVT.Text = ""
TextTenVT.Text = ""
TextDVT.Text = ""
OptionUnknown = True
MsgBox "Ban da nhap lieu thanh cong"
TextVT.SetFocus
TextTenVT.SetFocus
Exit Sub
End Sub

P/s: tôi chỉ copy và paste vào code của bạn, hoàn toàn không chỉnh sửa thêm gì...
Dạ em mới biết chút xíu về VBA thôi ạ, em copy dưới 1 đoạn nên kết quả sai
Cảm ơn các bác đã quan tâm
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom