rút gọn giúp em đoạn code về msgbox (1 người xem)

  • Thread starter Thread starter Blad01
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
350
Được thích
28
Em mới nhập môn vba, qua tìm hiểu trên diễn đàn em tự viết được đoạn code sau:
Mã:
Private Sub Ghidulieu_Click()
If txtBCThang.Text = "" Then
    MsgBox "Chua nhap du lieu: Báo cáo tháng"
End If
If txtTGNhaplieu.Text = "" Then
    MsgBox "Chua nhap du lieu: Thoi gian nhap du lieu"
End If
If cktHU.Value = False And cktCQTMCapUyHuyen.Value = False And cktDUCoSo.Value = False And cktDUBoPhan.Value = False And cktChiBo.Value = False Then
    MsgBox "Chua nhap du lieu: Cap kiem tra"
End If
If ndktChapHanhQCLV.Value = False And ndktPhamChat.Value = False And ndktChucTrach.Value = False And ndktDVKDL.Value = False And ndktKhac.Value = False Then
    MsgBox "Chua nhap du lieu: Noi dung kiem tra"
End If
If klTot.Value = False And klChuaTot.Value = False And klCoKhuyetDiem.Value = False And klPhaiTHKL.Value = False And klChuaKL.Value = False Then
    MsgBox "Chua nhap du lieu: Ket luan"
End If
If dvtcqlCapTinh.Value = False And dvtcqlCapHuyen.Value = False And dvtcqlCapCoSo.Value = False Then
    MsgBox "Chua nhap du lieu: Dang vien o cac cap quan ly"
End If
If cuvccTinhUyVien.Value = False And cuvccHuyenUyVien.Value = False And cuvccDangUyVien.Value = False And cuvccChiUyVien.Value = False Then
    MsgBox "Chua nhap du lieu: La cap uy vien cac cap"
End If
If dvoclvDang.Value = False And dvoclvNhaNuoc.Value = False And dvoclvDoanThe.Value = False And dvoclvLLVT.Value = False And dvoclvSXKDDV.Value = False Then
    MsgBox "Chua nhap du lieu: Dang vien o cac linh vuc"
End If
End Sub
bác nào giúp em rút gọn đoạn code trên với ạ. Em cảm ơn nhiều.
 
Bạn làm theo gợi í này xem có thanh thoát hơn không?:

1./ Quan sát:
Các mẹnh đề cần hiện lên có 2 vế;
Hơn nữa, vế đâu luôn là: "Chua Nhap Dư Lieu: "
Vế này ta nên đưa vô thành 1 Const khai báo ngay từ đầu:

Mã:
 Const fConst= "Chua Nhap Dư Lieu: "
Mệnh đề sau thì không giống nhau; nên ngày từ đầu chương trình ta khai báo 1 biến có kiểu dạng là chuỗi như:
Mã:
 Dim MyString As String
2./
Sau đó thay vì các câu lệnh:
Mã:
If txtBCThang.Text = "" Then
    MsgBox "Chua nhap du lieu: Báo cáo tháng"
End If
Ta chuyển thành các câu lệnh sau:
PHP:
If txtBCThang.Text = "" Then
     MyString = fConst & "Báo cáo tháng"
End If

[Các câu lệnh khác ta cũng chuyễn tương tự]
Cuối cùng cũa macro sẽ fải có thêm câu lệnh

PHP:
MsgBox MyString

Chúc thành công!
 
Upvote 0
Cảm ơn bạn ChanhTQ@ đã quan tâm và giúp đỡ, đây cũng là cách rất hay để mình học hỏi thêm.
Có bạn nào rút gọn hơn được nữa không ?
 
Upvote 0
Cảm ơn bạn ChanhTQ@ đã quan tâm và giúp đỡ, đây cũng là cách rất hay để mình học hỏi thêm.
Có bạn nào rút gọn hơn được nữa không ?

Còn 2 cách sau:
Cách 2: tất cả nội dụng msgbox giống nhau, đại khái: "Có lỗi, vui lòng xem lại!"
Cách 3: Không có cái msgbox nào hết, thoát sub hết.
 
Upvote 0
Web KT

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

Back
Top Bottom