Xin các cao thủ giúp thu gọn Code

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tranphuctb85

Thành viên mới
Tham gia
27/8/23
Bài viết
1
Được thích
0
Mình có một đoạn code như bên dưới với 5 combobox. nhờ các bạn thu gọn lại thành một hàm giúp mình với.
xin cám ơn trước
Private Sub cboxJaven_Change() If cboxJaven = True Then cboxJaven.ForeColor = RGB(255, 0, 0) Else cboxJaven.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxAxit_Change() If cboxAxit = True Then cboxAxit.ForeColor = RGB(255, 0, 0) Else cboxAxit.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxOxy_Change() If cboxOxy = True Then cboxOxy.ForeColor = RGB(255, 0, 0) Else cboxOxy.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxHo_Change() If cboxHo = True Then cboxHo.ForeColor = RGB(255, 0, 0) Else cboxHo.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxSay_Change() If cboxSay = True Then cboxSay.ForeColor = RGB(255, 0, 0) Else cboxSay.ForeColor = RGB(0, 0, 0) End If End Sub
 
Mình có một đoạn code như bên dưới với 5 combobox. nhờ các bạn thu gọn lại thành một hàm giúp mình với.
xin cám ơn trước
Private Sub cboxJaven_Change() If cboxJaven = True Then cboxJaven.ForeColor = RGB(255, 0, 0) Else cboxJaven.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxAxit_Change() If cboxAxit = True Then cboxAxit.ForeColor = RGB(255, 0, 0) Else cboxAxit.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxOxy_Change() If cboxOxy = True Then cboxOxy.ForeColor = RGB(255, 0, 0) Else cboxOxy.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxHo_Change() If cboxHo = True Then cboxHo.ForeColor = RGB(255, 0, 0) Else cboxHo.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxSay_Change() If cboxSay = True Then cboxSay.ForeColor = RGB(255, 0, 0) Else cboxSay.ForeColor = RGB(0, 0, 0) End If End Sub
Nếu chỉ là True/False thì nên tạo optionbutton thay vì combobox
Nếu muốn gộp code thì viết class module
Nếu không muốn viết class thì để 5 sub như vậy nhưng viết một thủ tục riêng để gọi xử lý tô màu, không cần viết lại từng code tô màu như vậy
 
Upvote 0
Mình có một đoạn code như bên dưới với 5 combobox. nhờ các bạn thu gọn lại thành một hàm giúp mình với.
xin cám ơn trước
Private Sub cboxJaven_Change() If cboxJaven = True Then cboxJaven.ForeColor = RGB(255, 0, 0) Else cboxJaven.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxAxit_Change() If cboxAxit = True Then cboxAxit.ForeColor = RGB(255, 0, 0) Else cboxAxit.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxOxy_Change() If cboxOxy = True Then cboxOxy.ForeColor = RGB(255, 0, 0) Else cboxOxy.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxHo_Change() If cboxHo = True Then cboxHo.ForeColor = RGB(255, 0, 0) Else cboxHo.ForeColor = RGB(0, 0, 0) End If End Sub Private Sub cboxSay_Change() If cboxSay = True Then cboxSay.ForeColor = RGB(255, 0, 0) Else cboxSay.ForeColor = RGB(0, 0, 0) End If End Sub
Viết 1 cái code duyệt qua hết các combobox trong module là được mà.
 
Upvote 0
Viết 1 thủ tục dùng chung có truyền tham số:
Mã:
Sub ColorCtrl(Ctl As Control)
If Ctl= True Then
        Ctl.ForeColor = RGB(255, 0, 0)
Else
        Ctl.ForeColor = RGB(0, 0, 0)   
End If
End Sub

Sau đó mỗi control viết cho chính nó
Mã:
Private Sub cboxJaven_Change()
ColorCtrl cboxJaven
End Sub

Và nếu chỉ có True False thì làm như bài 2 bảo: nên dùng checkbox hoặc Option button
 
Upvote 0
Web KT

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

Back
Top Bottom