anhtuan1066
Thành viên gạo cội




- Tham gia
- 10/3/07
- Bài viết
- 5,802
- Được thích
- 6,912
Cái này viết một UF sử dụng chỉ số của .Interior.ColorIndex = i là đươc thôi mà bác.anhtuan1066 đã viết:Lâu rồi tôi nhớ có lần các bạn nói về các hàm liên quan đến Color.. tôi cũng có tham gia mà giờ tìm hoài ko dc...
Tôi gữi file này nhờ các cao thủ giúp cách chuyển màu sắc thành số... Chi tiết tôi nêu trong file ấy
ANH TUẤN
Function OB(Vung As Range) As String
Dim Ma As Range
For Each Ma In Vung
OB = OB & Ma.Interior.ColorIndex
Next
Set Ma = Nothing
Set Vung = Nothing
End Function
anhtuan1066 đã viết:Cái chính là tôi mất tiêu cái UDF ấy rồi... Bảo tôi tự làm nó thì thà chết còn hơn... Bắp có thì gữi lên tôi nghiên cứu thử...
Ha... ha... Bảo rằng "Lên nóc nhà uh? Cứ bắt thang mà lên"... Tôi ko có cái thang thì lấy gì mà bắt đây! Vả lại cũng ko biết tự làm ra cái thang ấy... Thế mới nhờ...
Giúp cho trót luôn Bắp ơi!
ANH TUẤN
Option Explicit
Function OB(Vung As Range) As Double
Dim Ma As Range
Dim i As String
For Each Ma In Vung
i = i & Ma.Interior.ColorIndex
Next
OB = CDbl(i)
Set Ma = Nothing
Set Vung = Nothing
End Function
[COLOR=darkblue]Function[/COLOR] GetOmegaColor(Vung [COLOR=darkblue]As[/COLOR] Range, colordefine [COLOR=darkblue]As[/COLOR] Range) [COLOR=darkblue]As[/COLOR] [COLOR=darkblue]String[/COLOR]
[COLOR=darkblue]Dim[/COLOR] cell [COLOR=darkblue]As[/COLOR] Range
[COLOR=darkblue]Dim[/COLOR] strOmega [COLOR=darkblue]As[/COLOR] [COLOR=darkblue]String[/COLOR]
[COLOR=darkblue]For[/COLOR] [COLOR=darkblue]Each[/COLOR] cell [COLOR=darkblue]In[/COLOR] Vung
strOmega = strOmega & getindexcolor(cell.Address, colordefine)
[COLOR=darkblue]Next[/COLOR]
GetOmegaColor = strOmega
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]Function[/COLOR]
[COLOR=darkblue]Function[/COLOR] getindexcolor(cell [COLOR=darkblue]As[/COLOR] [COLOR=darkblue]String[/COLOR], colordefine As Range)
[COLOR=darkblue]For[/COLOR] i = 1 [COLOR=darkblue]To[/COLOR] colordefine.Columns.Count
[COLOR=darkblue]If[/COLOR] Range(cell).Interior.ColorIndex = Range(Range("colordefine").Cells(1, i).Address).Interior.ColorIndex [COLOR=darkblue]Then[/COLOR]
getindexcolor = colordefine.Cells(2, i).Value
[COLOR=darkblue]Exit[/COLOR] [COLOR=darkblue]For[/COLOR]
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]If[/COLOR]
[B][COLOR=red] getindexcolor = "N"[/COLOR][/B]
[COLOR=darkblue]Next[/COLOR]
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]Function[/COLOR]
Bạn tìm với từ khóa 'ColORS' lại xem sao;Lâu rồi tôi nhớ có lần các bạn nói về các hàm liên quan đến Color.. tôi cũng có tham gia mà giờ tìm hoài ko dc...
Option Explicit
Function OB(Vung As Range, DM As Range) As Double
Dim Ma As Range
Dim Ma2 As Range
Dim i As String
For Each Ma In Vung
For Each Ma2 In DM
If Ma.Interior.ColorIndex = Ma2.Interior.ColorIndex Then i = i & Ma2
Next: Next
OB = CDbl(i)
Set Ma = Nothing
Set Ma2 = Nothing
Set Vung = Nothing
Set DM = Nothing
End Function
Oh... tất nhiên là dc rồi mới thanks chứ... hi... hi... một lần nữa cám ơn đại ca!Mr Okebab đã viết:Chạy được không bác ????