Excel 基于单元格颜色的IF/Then VBA代码。不值
如果以前有人问过这个问题,我很抱歉。我环顾四周,似乎找不到答案。我是VBA新手,希望得到一些帮助 是否可以基于颜色在VBA上完成IF/Then功能,然后用值替换颜色 例如: 如果Cell.Interior.ColorIndex=255,则Cell.Value=1 数据表中的某些红色单元格已经有值,其他单元格则没有。我需要将它们全部更改为1,以便在数据透视表中单独计算它们Excel 基于单元格颜色的IF/Then VBA代码。不值,excel,vba,colors,Excel,Vba,Colors,如果以前有人问过这个问题,我很抱歉。我环顾四周,似乎找不到答案。我是VBA新手,希望得到一些帮助 是否可以基于颜色在VBA上完成IF/Then功能,然后用值替换颜色 例如: 如果Cell.Interior.ColorIndex=255,则Cell.Value=1 数据表中的某些红色单元格已经有值,其他单元格则没有。我需要将它们全部更改为1,以便在数据透视表中单独计算它们 非常感谢您Cell.Interior.ColorIndex通常是1到56之间的值(当前颜色托盘的大小),表示给定颜色在托盘中的
非常感谢您
Cell.Interior.ColorIndex
通常是1到56之间的值(当前颜色托盘的大小),表示给定颜色在托盘中的位置
Cell.Interior.Color
属性是一个长值,表示RGB颜色值。此处255为红色-与vbRed的值相同
所以
应该是
If Cell.Interior.Color = 255 Then Cell.Value = 1
可能,但我猜你正在使用条件格式应用的颜色,在这一点上,您需要使用.DisplayFormat.Interior
。我认为,如果颜色是由条件格式引起的,那么应该使用与条件格式相同的规则,而不是逻辑中单元格的颜色。事实上,我同意@ScottCraner的说法,这一点很好。感谢您的回复。因此,最初的宏声明(如果早于X date=255),它也会将所有空格填充为红色。这是正确的。然后我复制这些数据并删除所有不是红色的内容。所有的红军都被1替换,这样我就可以旋转了。我需要学习如何在xIf Cell.Interior.Color = 255 Then Cell.Value = 1