我尝试使用" instring"用于为计数器制作三重滤波器的功能。 主要思想是定义一个范围,然后按如下方式检查每个单元格:
1)找到内容" 0111"在单元格中
2)如果内容" 0111"在找到的单元格中,检查此单元格左侧的列,如果内容为" 127"存在
3)检查当前单元格的行是否为红色(颜色3)
4)如果以上都是真的,请提高计数器。
我的代码如下:
Set SrchRng4 = Range("J1:J100")
For Each cel In SrchRng4
If InStr(1, cel.Value, "0111", 1) > 0 Then
If InStr(1, ActiveCell(Offset(-1,0), "127", 1) > 0 And cel.EntireRow.Interior.ColorIndex <> 3 Then
count_K = count_K + 1
End If
Next cel
它适用于搜索&#34; 111&#34;并且红色行的例外但是在添加&#34; 127&#34;之后它不起作用。过滤。 任何人都可以提供一些意见吗?我想它的语法有些问题吗?
亲切的问候, 马库斯
答案 0 :(得分:1)
For Each cel In Range("J1:J100")
If InStr(cel, "0111") And InStr(cel( ,0), "127") _
And cel.EntireRow.Interior.Color <> vbRed Then count_K = count_K + 1
Next
True
,因此> 0
是可选的cel(,0)
与cel.Offset(0,-1)
类似,以获取cel
vbRed
和rgbRed
是红色的常量,但.ColorIndex <> 3
也很好If .. Then
语句都应该有匹配的End If
语句,除非它在一行上