作者sf4566373 (阿欧收啦)
看板Visual_Basic
标题[VBA ]求救!要如何判断储存格底色?
时间Fri May 31 22:15:04 2019
版本:Microsoft Office 2007
本人为刚接触VBA新手
目前使用录制巨集
录制<格式化条件>
程式如下
Range("B4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="=100", Formula2:="=50"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
上面表示选取范围储存格内数字介於50~100,底色变为浅绿色
这边有个疑问想请教!
如何下判断,当范围内皆为浅绿色跳出MSGBOX显示"OK"
以下为自己写的判断式(下列皆无法有效判断)
If Range("B4").Interior.Color = RGB(146, 208, 80) Then
MsgBox "OK"
End If -------无法判断
If Range("B4").Interior.Color = 5296274 Then
MsgBox "OK"
End If -------任何颜色都会显示OK
这边先是测试单一储存格能否做判断,最终是要判断范围内所有储存格
PS:浅绿色RGB(146,208,80)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.241.172.206
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1559312106.A.84E.html
1F:→ noworneverev: 你写的两段是可以判断 没问题阿 06/01 07:56
4F:→ sf4566373: 我用逐行执行判断B4储存格,B4为粉红色底色仍判断成功 06/01 09:51
5F:→ sf4566373: 事实上任何颜色都会判断OK = = 还是版本有差啊>< 06/01 09:52
6F:推 olycats: 请问B4是原本就粉红色,还是格式化条件後变成粉红色的? 06/02 22:41
7F:推 olycats: 最後一段 是针对储存格本身的底色去判断 06/02 22:48
8F:→ olycats: 如果是格式化条件之後改变的颜色则无法判断 06/02 22:48
9F:→ sf4566373: 原来是格式化关系 = = 06/04 21:27