宏需要检查行中的5个单元格

时间:2012-05-14 08:10:49

标签: excel excel-vba vba

有没有人知道我在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

1 个答案:

答案 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等等......一旦你有你的范围,那么你检查范围内的每个单元格是否有红色。希望这能给你一个开始。