Nhờ rút gọn code

Liên hệ QC

doanhhoang79

Thành viên hoạt động
Tham gia
31/3/08
Bài viết
142
Được thích
18
Chào các anh chị,

Tôi có một đoạn code VBA dưới đây, tôi thấy đoạn code này dài quá. Để viết ngắn gọn tôi mong các anh, chị hoàn thiện giúp.

Xin cảm ơn,

PHP:
If Congtac2 <> "" And DonviCT2 = "" Then
    MsgBox("Nhap don vi cong tac"), vbKey0, "Thông báo!"
    DonviCT2.SetFocus:                   Exit Sub
End If
If DonviCT2 <> "" And Thoigiancongtac2 = "" Then
    MsgBox("Nhap thoi gian cong tac"), vbKey0, "Thông báo!"
    Thoigiancongtac2.SetFocus:        Exit Sub
End If
If Thoigiancongtac2 <> "" And Congtac2 = "" Then
    MsgBoxUni UNC("Nhap vi tri cong tac"), vbKey0, "Thông báo!"
    Congtac2.SetFocus:                   Exit Sub
End If
If Congtac3 <> "" And DonviCT3 = "" Then
     MsgBox("Nhap don vi cong tac"), vbKey0, "Thông báo!"
     DonviCT3.SetFocus:                   Exit Sub
End If
If DonviCT3 <> "" And Thoigiancongtac3 = "" Then
    MsgBox("Nhap thoi gian cong tac"), vbKey0, "Thông báo!"
    Thoigiancongtac3.SetFocus:          Exit Sub
End If
If Thoigiancongtac3 <> "" And Congtac3 = "" Then
    MsgBoxUni UNC("Nhap vi tri cong tac"), vbKey0, "Thông báo!"
    Congtac3.SetFocus:                     Exit Sub
End If
If Congtac4 <> "" And DonviCT4 = "" Then
    MsgBox("Nhap don vi cong tac"), vbKey0, "Thông báo!"
    DonviCT4.SetFocus:                      Exit Sub
End If
If DonviCT4 <> "" And Thoigiancongtac4 = "" Then
    MsgBox("Nhap thoi gian cong tac"), vbKey0, "Thông báo!"
    Thoigiancongtac4.SetFocus:           Exit Sub
End If
If Thoigiancongtac4 <> "" And Congtac4 = "" Then
    MsgBoxUni UNC("Nhap vi tri cong tac"), vbKey0, "Thông báo!"
    Congtac4.SetFocus:                      Exit Sub
End If
If Congtac5 <> "" And DonviCT5 = "" Then
     MsgBox("Nhap don vi cong tac"), vbKey0, "Thông báo!"
     DonviCT5.SetFocus:                    Exit Sub
End If
If DonviCT5 <> "" And Thoigiancongtac5 = "" Then
    MsgBox("Nhap thoi gian cong tac"), vbKey0, "Thông báo!"
    Thoigiancongtac5.SetFocus:          Exit Sub
End If
If Thoigiancongtac5 <> "" And Congtac5 = "" Then
    MsgBoxUni UNC("Nhap vi tri cong tac"), vbKey0, "Thông báo!"
    Congtac5.SetFocus:                     Exit Sub
End If
If Congtac6 <> "" And DonviCT6 = "" Then
    MsgBox("Nhap don vi cong tac"), vbKey0, "Thông báo!"
    Exit Sub
End If
If DonviCT6 <> "" And Thoigiancongtac6 = "" Then
    MsgBox("Nhap thoi gian cong tac"), vbKey0, "Thông báo!"
    Thoigiancongtac6.SetFocus:           Exit Sub
End If
If Thoigiancongtac6 <> "" And Congtac6 = "" Then
    MsgBoxUni UNC("Nhap vi tri cong tac"), vbKey0, "Thông báo!"
    Congtac6.SetFocus:                     Exit Sub
End If

From Sa_DQ:
Bạn hãy cho đoạn Code của mình vô [Code ]. . [/code] hoặc [PHP ]. . . [/PHP]
Khi đó sẽ có nhiều người gé thăm Topic bạn hơn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn nên đặt tên điều khiển đồng nhất để dễ sử lý hơn kể cả khi nhập số liệu vào sheet hay sử lý khác. Ví dụ thoigian1...thoigian6 là tg1...tg6, dv1...dv6
Mình rút gọn thành:

Mã:
Private Sub CommandButton1_Click()
For i = 1 To 6
If Me.Controls("dv" & i) = "" And Me.Controls("tg" & i) <> "" Then
MsgBox "Don vi " & i & " trong roi"
Me.Controls("dv" & i).SetFocus
Exit Sub
End If
If Me.Controls("dv" & i) <> "" And Me.Controls("tg" & i) = "" Then
MsgBox "Thoi gian " & i & " trong roi"
Me.Controls("tg" & i).SetFocus
Exit Sub
End If
Next
End Sub
P/s: Mình đã đổi File mới
Lần sau nên đưa theo form giả định đỡ phải đoán
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom