Sub ToMauDoDuLieuTrung()
Dim WF As Object, Rng As Range, sRng As Range
Dim Dem As Integer, fNum As Integer, lNum As Integer, J As Long, MyColor As Integer
Dim MyAdd As String
Set WF = Application.WorksheetFunction: MyColor = 34
Set Rng = Sheet1.UsedRange: ' MsgBox Rng.Address '
fNum = WF.Min(Rng): lNum = WF.Max(Rng)
For J = fNum To lNum
Set sRng = Rng.Find(J, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
Dem = Dem + 1
If Dem > 1 Then
MyColor = MyColor + 1
If MyColor > 41 Then MyColor = 34
sRng.Interior.ColorIndex = MyColor
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
If Dem > 1 Then sRng.Interior.ColorIndex = MyColor
If Dem > 0 Then Dem = 0
End If
Next J
End Sub
Chào Bác1PHP:Sub ToMauDoDuLieuTrung() Dim WF As Object, Rng As Range, sRng As Range Dim Dem As Integer, fNum As Integer, lNum As Integer, J As Long, MyColor As Integer Dim MyAdd As String Set WF = Application.WorksheetFunction: MyColor = 34 Set Rng = Sheet1.UsedRange: ' MsgBox Rng.Address ' fNum = WF.Min(Rng): lNum = WF.Max(Rng) For J = fNum To lNum Set sRng = Rng.Find(J, , xlFormulas, xlWhole) If Not sRng Is Nothing Then MyAdd = sRng.Address Do Dem = Dem + 1 If Dem > 1 Then MyColor = MyColor + 1 If MyColor > 41 Then MyColor = 34 sRng.Interior.ColorIndex = MyColor End If Set sRng = Rng.FindNext(sRng) Loop While Not sRng Is Nothing And sRng.Address <> MyAdd If Dem > 1 Then sRng.Interior.ColorIndex = MyColor If Dem > 0 Then Dem = 0 End If Next J End Sub
)(in mời![]()
Vâng. Ý cháu là giống như các loại mã vậy. Có mã là chữ và số có mã chỉ là số. Có mã lại chỉ toàn chữ. Thấy bác làm code kia là cho kiểu dữ liệu số nên hỏi ạ1./ Thông thường nếu dữ liệu tương đối chuẩn thì trong 1 cột hiếm có 2 kiểu dữ liệu
2./ Yêu cầu của bạn không phải là không làm được, & phải dùng những loại dao bén hơn phương thức FIND()
Dùng thử code sau cho tất cả các trường hợp.Bác cho cháu hỏi là nếu như là cả text lẫn số thì phải sửa code như thế nào à?
Vâng. Ý cháu là giống như các loại mã vậy. Có mã là chữ và số có mã chỉ là số. Có mã lại chỉ toàn chữ. Thấy bác làm code kia là cho kiểu dữ liệu số nên hỏi ạ
Nếu kiểu số thì là | |||||||||||||
10000 | |||||||||||||
10001 | |||||||||||||
10002 | |||||||||||||
10003 | |||||||||||||
10004 | |||||||||||||
10005 | |||||||||||||
10006 | |||||||||||||
10007 | |||||||||||||
Nếu kiểu chuỗi thì nên là | |||||||||||||
NVH00 | Ngô Việt Hồng | ||||||||||||
NVH01 | Như Thị Việt Hà | ||||||||||||
NVH02 | Nhâm Viết Hòa | ||||||||||||
NVH03 | Nguyễn Vĩnh Hằng | ||||||||||||
DFD00 | Dương Đưc Dũng | ||||||||||||
DJC00 | Dương Cường | ||||||||||||
FFD00 | Đỗ Đức Dung | ||||||||||||
cảm ơn bác,code chạy tốt bác ạDùng thử code sau cho tất cả các trường hợp.
vâng cảm ơn bác góp ý,chắc mã theo kiểu của bác thì dễ quản lý hơn(/ới mình thì nguyên tắc bất di bất dịch là:
Mã có độ dài như nhau & tuyệt nhiên cùng 1 kiểu dữ liệu
Như ví dụ sau:
Có vậy ngõ hầu CSDL ta không trở thành đống rác.
Nếu kiểu số thì là 10000 10001 10002 10003 10004 10005 10006 10007Nếu kiểu chuỗi thì nên là NVH00 Ngô Việt Hồng NVH01 Như Thị Việt Hà NVH02 Nhâm Viết Hòa NVH03 Nguyễn Vĩnh Hằng DFD00 Dương Đưc Dũng DJC00 Dương Cường FFD00 Đỗ Đức Dung
Chưa tốt đâu, sai ở chỗ có dấu ?cảm ơn bác,code chạy tốt bác ạ
Bài 1 bạn không nêu cụ thể, rõ ràng là dữ liệu có những dòng trống cột trống, do đó thấy File thế nào thì làm thế ấy chứ ai biết được sự đời nó thế nào?
vâng chắc chủ thớt thấy nhiêu đấy yêu cầu là đủ rồi bác ạBài 1 bạn không nêu cụ thể, rõ ràng là dữ liệu có những dòng trống cột trống, do đó thấy File thế nào thì làm thế ấy chứ ai biết được sự đời nó thế nào?
(1) Số lượng màu để tô các dữ liệu (DL) trùng là hữu hạn (không quá 55); Nhưng thật ra những màu dễ nhìn chỉ khoảng dưới 1 chực Miền tây!. . . . , cho e hỏi các bác có thể chỉ (1) tô màu các dữ liệu trùng trong 1 cột (Ví dụ từ A3 đến A100), với điều kiện là những dữ liệu giống nhau thì tô 1 màu. Ví dụ có 3 dòng bất kỳ có cùng ngày 04/06/2024 thì tô màu vàng, có 2 dòng cùng ngày 01/5/2024 thì tô màu xanh.... . Với lại e thấy code trên phải gán cho một nút, tức sau khi nhập liệu mới bấm nút kiểm tra trùng. Có thể (2) tự động tô màu ngay khi nhập liệu trùng mà ko cần bấm nút ko. E cảm ơn.