有没有人知道我在VBA excel中遇到的问题
宏需要检查1行中的5个单元格(续)..总共超过500行..如果连续的任何单元格颜色都有“红色”意味着它必须在某些列中提及“新” ..
任何想法或解决方案.. ??
我使用下面的代码,检查单个(或选定)列中的任何单元格是否为红色...
有没有人知道我在VBA excel中遇到的问题
宏需要检查1行中的5个单元格(续)..总共超过500行..如果连续的任何单元格颜色都有“红色”意味着它必须在某些列中提及“新” ..
任何想法或解决方案.. ??
我使用下面的代码检查单个中的任何单元格是否为红色...
Sub test()
Dim erange as range
for each erange in selection
if erange.interior.color = red then
Erange.offset(0,1)="New"
end if
next erange
end if
答案 0 :(得分:1)
我计划将此作为评论,但这绝不适合那里。
有没有人知道我在VBA excel中遇到的问题
您的代码中有两个主要错误。
首先,Red
不会在Excel中评估为有效颜色。
将该行更改为
if erange.interior.color = vbRed then
或
If erange.Interior.ColorIndex = 3 Then
其次,你错过了End Sub
。将最后end if
替换为End Sub
现在你的主要问题。以上代码无法帮助您检查5个连续单元格是否具有Red
颜色。一种方法是使用这个逻辑
遍历你的范围并将erange
设置为包含5个单元格例如,如果您的范围是A1:C10,那么在您的循环中,您的第一个范围将是A1:A5然后是A2:A6然后是A3:A7等等......一旦你有你的范围,那么你检查范围内的每个单元格是否有红色。希望这能给你一个开始。