Cho mình hỏi có cách nào tô màu nền xen kẽ dòng trên ListBox và Listview được không?
.....................
Listbox trên excel thì em chưa làm được (không biết là có được hay không), nhưng Listview thì làm được. Anh xem Code đính kèm nhé!
[highlight=vb]
Public Sub ColorListView(mLView As ListView)
'****************************************************'
'Sub này để tạo màu sắc cho chữ xen kẽ giữa các dòng của ListView:
'[Black] : -2147483643
'[Blue] : 16711680
'[Red] : 255
'****************************************************'
On Error Resume Next
Dim iR As Integer, iC As Byte, iColor As Long, iMod As Byte, mColumn As Byte
mColumn = mLView.ColumnHeaders.Count
mLView.ForeColor = 0
iMod = 2 'Tô màu xen kẽ hàng chẵn/hàng lẻ:
For iR = 1 To mLView.ListItems.Count
Select Case iR Mod iMod
Case 0: iColor = 16711680
Case 1: iColor = 255
Case 2: iColor = 0
End Select
mLView.ListItems.Item(iR).ForeColor = iColor
For iC = 1 To mColumn - 1
mLView.ListItems.Item(iR).ListSubItems.Item(iC).ForeColor = iColor
Next iC
Next iR
End Sub
[/highlight]
Giả sử anh có 1 form (
frmMain) với một Listview có tên
myListview
Anh xử lý sự kiện khi Form_Activate() như sau
[highlight=vb]
Private Sub UserForm_Activate()
Call ColorListView(Me.myListview)
End Sub
[/highlight]
Định dạng có điều kiện như số âm thì đổi màu chữ sang màu đỏ đuựơc không
Anh xem code trên và tùy biến cho yêu cầu này của anh nhé!