• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Tạo hàm so sánh màu nền trên Excel

Nơi trao đổi về VBA (Visual Basic for Application), lập trình cho ứng dụng Microsoft Office, AutoCAD...

Moderator: tungblt

nguyenminhnhien
Posts: 1
Joined: Sat 14/04/2018 7:02 pm

Tạo hàm so sánh màu nền trên Excel

Postby nguyenminhnhien » Sat 14/04/2018 7:14 pm

Chào mọi người, mình mới tham gia diễn đàn. Muốn nhờ mọi người giúp tạo hàm so sánh màu nền của 2 ô cụ thể
Somau(Vùng chọn, ô so sánh)
Nếu ô trong vùng chọn cùng màu với ô so sánh thì kết quả ra nội dung của ô hàng 2, cùng cột với ô đó.
Mình đã tạo hàm nhưng không ra kết quả mong muốn

Function Somau(Vung As Range, vt2 As Range) As String

Dim j As Long
Dim cellCurrent As Range

Application.Volatile
For Each cellCurrent In Vung
If cellCurrent.Interior.Color = vt2.Interior.Color Then
j = cellCurrent.Columns.Count
Else
j = 2
End If
Next cellCurrent
Somau = Cells(2, j)
End Function

Rất mong được mọi người giúp đỡ.



User avatar
xuanha
Guru
Guru
Posts: 1230
Joined: Thu 19/08/2010 4:25 pm
Location: Ban Tổ chức Thành uỷ Hưng Yên, tỉnh Hưng Yên
Has thanked: 13 times
Been thanked: 380 times
Contact:

Re: Tạo hàm so sánh màu nền trên Excel

Postby xuanha » Wed 09/05/2018 4:50 pm

Ban thử dùng đoạn code dưới đây xem có đúng ý bạn cần không
1. tô mầu cho ô A1
2. chọn một vùng bất kỳ trên bảng tính để so sánh mầu với ô A1

Code: Select all

Sub thu()
Dim r As Range
For Each r In Selection' bạn có thể thay thế Selection bằng một vùng cụ thể nào đó VD Range("B1:E100")
If r.Interior.Color = Range("A1").Interior.Color Then
r.Value = "1"
End If
Next
End Sub
Kiểm phiếu Đại hội Đoàn, Đại hội Đảng
http://caulacbovb.com/forum/viewtopic.php?t=23599


Return to “Visual Basic for Application (VBA)”

Who is online

Users browsing this forum: No registered users and 1 guest