vnxgiokinhtoi
Thành viên mới
- Tham gia
- 16/6/23
- Bài viết
- 6
- Được thích
- 4
Quy luật là:quy luật
Có quy luật chứ: tiêu đề không được "giúp em với...". Nội quy diễn đàn, Mục III, tiểu mục 3.Nếu không có quy luật gì thì cũng thua;
Nếu có thể xác định được quy luật thì dùng Conditional Formatting
...
Nếu không có quy luật gì thì cũng thua;
Nếu có thể xác định được quy luật thì dùng Conditional Formatt
Mình sưu tầm được code này nhưng chỉ áp dụng cho ô cụ thể mà thôi, còn vùng dữ liệu thì mình không biết chỉnh code như thế nào:Nếu không có quy luật gì thì cũng thua;
Nếu có thể xác định được quy luật thì dùng Conditional Formatting
View attachment 296747
Dạ đơn giản thôi ạ, qui luật là nếu những ai có ghi chú là "TC" thì mình lấy qua bảng dữ liệu TC và kèm theo chấm công của những người đó, điểm em cần ở đây là khi lấy chấm công của người đó qua bảng TC thì những kí hiệu chấm công vẫn hiện màu y như bảng gốc. Cụ thể: ngày 1,2,4,6,8 có kí hiệu chấm công màu đỏ thì bảng TC nó vẫn là màu đỏ. Còn dùng Conditional Formatting thì đơn giản rồi ạNếu không có quy luật gì thì cũng thua;
Nếu có thể xác định được quy luật thì dùng Conditional Formatting
View attachment 296747
Option Explicit
Private Sub Worksheet_Activate()
Dim i&, j&, k&, ce As Range, rng As Range, res(), resColor()
With Sheets("Sheet1")
Set rng = .Range("B4", .Cells(.Cells(Rows.Count, "B").End(xlUp).Row, "K"))
ReDim res(1 To 10000, 1 To rng.Columns.Count)
ReDim resColor(1 To 10000, 1 To rng.Columns.Count)
For Each ce In rng.Columns(10).Cells
If ce.Value = "TC" Then
k = k + 1: res(k, 1) = k
For j = 2 To rng.Columns.Count
res(k, j) = ce.Offset(0, j - 11).Value
resColor(k, j) = ce.Offset(0, j - 11).Font.Color
Next
End If
Next
End With
With Range("A4").Resize(1000, UBound(res, 2) + 1)
.ClearContents
.Font.Color = xlNone
End With
For i = 1 To k
For j = 1 To UBound(res, 2)
With Cells(i + 3, j)
.Value = res(i, j)
.Font.Color = resColor(i, j)
End With
Next
Next
End Sub