Lấy màu sắc của ô theo điều kiện màu sắc của ô khác

Liên hệ QC

peternhp29

Thành viên mới
Tham gia
17/5/17
Bài viết
42
Được thích
6
Chúc ace GPE một ngày tốt lành,

Nhờ các ace giúp em lấy màu sắc của một ô bất kì ví dụ: ô C5 thỏa mãn điều kiện C5 = A1 =1 (A1 hiện có màu vàng) thì ô C5 sẽ được bôi màu vàng. Trường hợp ô A1 được thay đổi màu khác thì ô C5 cũng sẽ thay đổi theo.

Em xin cảm ơn.
 
Chúc ace GPE một ngày tốt lành,

Nhờ các ace giúp em lấy màu sắc của một ô bất kì ví dụ: ô C5 thỏa mãn điều kiện C5 = A1 =1 (A1 hiện có màu vàng) thì ô C5 sẽ được bôi màu vàng. Trường hợp ô A1 được thay đổi màu khác thì ô C5 cũng sẽ thay đổi theo.

Em xin cảm ơn.
Bạn nên đính kèm File và có ví dụ cụ thể theo nội dung cần nó sẽ thực tế hơn.
 
Upvote 0
Cảm ơn anh nhắc nhở.

Em xin gửi file.
1/ File bạn đưa ví dụ không cụ thể vì ột A thường là số thứ tự.
2/ Thông thường người ta áp dụng màu cho 1 mã hàng hay tên hàng hóa chứ không ai áp dụng cho các con số (chỉ áp dụng con số cho những chỗ so sánh về chỉ tiêu).
3/ Bạn nên cụ thể áp dụng cho cột nào (giống với File thực tế bạn cần).
 
Upvote 0
Cảm ơn anh nhắc nhở.

Em xin gửi file.
Tham khảo code và file đính kèm
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, iFind As Range
Set Rng = Range("A1:A" & Range("A65535").End(xlUp).Row)
If Not Intersect(Target, Range("C5")) Is Nothing Then
    Set iFind = Rng.Find(Target.Value, , , 1, , , True)
    If Not iFind Is Nothing Then
        Target.Interior.ColorIndex = iFind.Interior.ColorIndex
    Else
        Target.Interior.ColorIndex = 0
    End If
End If
End Sub
 

File đính kèm

  • LayMauSac.xls
    36 KB · Đọc: 12
Upvote 0
1/ File bạn đưa ví dụ không cụ thể vì ột A thường là số thứ tự.
2/ Thông thường người ta áp dụng màu cho 1 mã hàng hay tên hàng hóa chứ không ai áp dụng cho các con số (chỉ áp dụng con số cho những chỗ so sánh về chỉ tiêu).
3/ Bạn nên cụ thể áp dụng cho cột nào (giống với File thực tế bạn cần).

Em cảm ơn anh be09 đã góp ý. Em đang tự học VBA nên có ý tưởng có thể lấy màu sắc theo điều kiện được không? Chứ không có áp dụng cho công việc nên không có file thực tế.

Chúc sức khỏe anh be09 và gia đình.
Bài đã được tự động gộp:

Tham khảo code và file đính kèm
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, iFind As Range
Set Rng = Range("A1:A" & Range("A65535").End(xlUp).Row)
If Not Intersect(Target, Range("C5")) Is Nothing Then
    Set iFind = Rng.Find(Target.Value, , , 1, , , True)
    If Not iFind Is Nothing Then
        Target.Interior.ColorIndex = iFind.Interior.ColorIndex
    Else
        Target.Interior.ColorIndex = 0
    End If
End If
End Sub

Em cảm ơn anh Leo. Code đã chạy đúng mục đích. Giờ em ngồi xem code của anh để học lại.

Chúc sức khỏe anh và gia đình
 
Upvote 0
Web KT
Back
Top Bottom