chào thầy,
Mình muốn khi click vào nút "Lưu" sẽ hiện thêm MsgBox "Kiểm tra lại dữ liệu lần nữa trước khi Lưu"
>> nghĩa là, nếu sai mình sửa lại trước khi Lưu
phải làm sao ah?
Chào bạn bạn đang nói lưu trên from hay trên sheets nhỉ?
dạ, trên sheet ah,
như bài giảng ở trên
nghĩa là có thêm 1 Msgbox nhắc 1 lần nữa kiểm tra dữ liệu trước khi Save,
nếu cancel thì mình sửa lại dữ liệu
Sub thuchien()
Dim hoi As VbMsgBoxResult
hoi = MsgBox("Ban co thuc su muon luu du lieu khong", vbOKCancel, "Thông báo")
If hoi = vbOK Then
''xoa
Else
End If
End Sub
Chào bạn bạn thực hiện code như sau nhé.
cảm ơn Tuấn Ba,
MÌNH TEST RỒI,
CLICK CANCEL VẪN SAVE
chào bạn bạn debug từng dòng nhé.
https://drive.google.com/file/d/1yYk3...
Mong thầy xem & sửa giúp ah
Chào bạn bạn cần sử dụng như sau
Sub Re_check()
Dim hoi As VbMsgBoxResult
hoi = MsgBox("Do you really want to save your data?", vbOKCancel, "Notice")
If hoi = vbOK Then
Luu_Du_Lieu_TongHop
End If
End Sub
chào Tuấn Ba, Sorry mình chưa rõ,
Ý mình muốn click "cancel " thì có thể quay trở lại để điều chỉnh data
Mình làm như hướng dẫn thì click "cancel" vẫn save data
Ý mình muốn click "cancel " thì back lên row1 để điều chỉnh data.
Cảm ơn Tuấn Ba.
Chào bạn trong đoạn code này
Option Explicit Sub Luu_Du_Lieu() Dim DongCuoi As Long DongCuoi = Sheets("AUG.21").Range("A" & Rows.Count).End(xlUp).Row 'xac dinh ket qua luu 'Date sign Range("A" & DongCuoi + 1).Value = Range("A1").Value 'Expire Range("B" & DongCuoi + 1).Value = Range("B1").Value 'Cus name Range("C" & DongCuoi + 1).Value = Range("C1").Value 'Contract No. Range("D" & DongCuoi + 1).Value = Range("D1").Value 'Carry over Range("E" & DongCuoi + 1).Value = Range("E1").Value 'Q'ty Range("F" & DongCuoi + 1).Value = Range("F1").Value 'Price Range("G" & DongCuoi + 1).Value = Range("G1").Value 'Floor price Range("H" & DongCuoi + 1).Value = Range("H1").Value 'Grade Range("I" & DongCuoi + 1).Value = Range("I1").Value 'Packing Range("J" & DongCuoi + 1).Value = Range("J1").Value 'Term Range("K" & DongCuoi + 1).Value = Range("K1").Value 'PIC Range("L" & DongCuoi + 1).Value = Range("L1").Value 'Region Range("M" & DongCuoi + 1).Value = Range("M1").Value 'Code Range("N" & DongCuoi + 1).Value = Range("N1").Value 'Application Range("O" & DongCuoi + 1).Value = Range("O1").Value End Sub Sub Xoa_Du_Lieu() Range("A1, B1, C1, D1, E1, F1, G1,H1, I1, J1, K1").ClearContents End Sub Sub Luu_Du_Lieu_KetQua() Call Luu_Du_Lieu Call Xoa_Du_Lieu MsgBox "Saving successfull" End Sub Sub Luu_Du_Lieu_TongHop() If Range("A1").Value = "" Then MsgBox "Pls key: Signing date" Exit Sub ElseIf Range("B1").Value = "" Then MsgBox "Pls key: Expire date" Exit Sub ElseIf Range("C1").Value = "" Then MsgBox "Pls key: Cus name" Exit Sub ElseIf Range("D1").Value = "" Then MsgBox "Pls key: Contract No." Exit Sub ElseIf Range("G1").Value = "" Then MsgBox "Pls key: Price" Exit Sub ElseIf Range("H1").Value = "" Then MsgBox "Pls key: Floor Price" Exit Sub ElseIf Range("I1").Value = "" Then MsgBox "Pls choose: Grade" Exit Sub ElseIf Range("J1").Value = "" Then MsgBox "Pls choose: Packing" Exit Sub ElseIf Range("K1").Value = "" Then MsgBox "Pls choose: Payment term" Exit Sub Else Call Luu_Du_Lieu_KetQua End If End Sub Sub Re_check() Dim hoi As VbMsgBoxResult hoi = MsgBox("Do you really want to save your data?", vbOKCancel, "Notice") If hoi = vbOK Then Luu_Du_Lieu_TongHop Else If Range("A1").Value = "" Then MsgBox "Pls key: Signing date" Range("A1").Select Exit Sub ElseIf Range("B1").Value = "" Then MsgBox "Pls key: Expire date" Range("B1").Select Exit Sub ElseIf Range("C1").Value = "" Then MsgBox "Pls key: Cus name" Range("C1").Select Exit Sub ElseIf Range("D1").Value = "" Then MsgBox "Pls key: Contract No." Range("D1").Select Exit Sub ElseIf Range("G1").Value = "" Then MsgBox "Pls key: Price" Range("G1").Select Exit Sub ElseIf Range("H1").Value = "" Then MsgBox "Pls key: Floor Price" Range("H1").Select Exit Sub ElseIf Range("I1").Value = "" Then MsgBox "Pls choose: Grade" Range("I1").Select Exit Sub ElseIf Range("J1").Value = "" Then MsgBox "Pls choose: Packing" Range("J1").Select Exit Sub ElseIf Range("K1").Value = "" Then MsgBox "Pls choose: Payment term" Range("K1").Select Exit Sub End If End If End Sub
Chào bạn bạn chọn nút lưu vào sự kiện Re_check
chân thành cảm ơn chuyên gia, Ok rồi ah,
Mình lại gặp sự cố khi lock sheet, mong chuyên gia hổ trợ thêm lần nữa ah,
Ko lock sheet thi OK save dc, nhưng clock thì như sau ah
https://drive.google.com/file/d/1yYk3...
Chào bạn phần này gợi ý bạn như sau
Sub Re_check() //code mở locksheet Dim hoi As VbMsgBoxResult hoi = MsgBox("Do you really want to save your data?", vbOKCancel, "Notice") If hoi = vbOK Then Luu_Du_Lieu_TongHop Else If Range("A1").Value = "" Then MsgBox "Pls key: Signing date" Range("A1").Select Exit Sub ElseIf Range("B1").Value = "" Then MsgBox "Pls key: Expire date" Range("B1").Select Exit Sub ElseIf Range("C1").Value = "" Then MsgBox "Pls key: Cus name" Range("C1").Select Exit Sub ElseIf Range("D1").Value = "" Then MsgBox "Pls key: Contract No." Range("D1").Select Exit Sub ElseIf Range("G1").Value = "" Then MsgBox "Pls key: Price" Range("G1").Select Exit Sub ElseIf Range("H1").Value = "" Then MsgBox "Pls key: Floor Price" Range("H1").Select Exit Sub ElseIf Range("I1").Value = "" Then MsgBox "Pls choose: Grade" Range("I1").Select Exit Sub ElseIf Range("J1").Value = "" Then MsgBox "Pls choose: Packing" Range("J1").Select Exit Sub ElseIf Range("K1").Value = "" Then MsgBox "Pls choose: Payment term" Range("K1").Select Exit Sub End If End If //code khoá locksheet End Sub
cảm ơn bạn, mình đã hiểu và làm dc.
chúc 1 ngày tốt lành !
cảm ơn bạn đã tin tưởng và đồng hành cùng gitiho chúc bạn học tốt nếu thời gian rảnh hãy đánh giá về gitiho