今天看啥  ›  专栏  ›  完美Excel

VBA技巧:基于单元格背景色设置单元格字体颜色

完美Excel  · 公众号  · Excel  · 2024-03-21 22:02
学习Excel技术,关注微信公众号:excelperfect标签:VBA这是在网上看到的一段代码,辑录于此,供有兴趣的朋友参考。有人问:如何根据单元格的背景色确定单元格字体是黑色还是白色?也就是说,如果单元格背景色是白色,那么字体就是黑色;反之,如果单元格背景色是黑色,那么字体就是白色。下面是解决这个问题的VBA程序,很酷的算法!Sub SetFontColor() Dim cell As Range For Each cell In Selection  cell.Font.Color = BorW(cell.Interior.Color) Next cellEnd SubFunction BorW(RGB As Long) As Long Dim R As Integer, G As Integer, B As Integer R = (RGB And &HFF) G = (RGB And &HFF00&) / 256 B = (RGB And &HFF0000) / 65536 BorW = vbWhite If R * 0.3 + G * 0.59 + B * 0.11 > 128 Then BorW = vbBlackEnd Function亮度公式:R * 0.3 + G * 0.59 + B * 0.11 = L这是“亮度”或颜色亮度的公式,常用于将颜色转 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照