Excel VBA排除列
我在Excel中有一个计划方案,使用VBA。在工作表中,我拥有所有的日子。我寻找代码并为单元格着色。但我想排除在文件中用'z'编码的周末。 我有现在这样:Excel VBA排除列
Dim CurCell As Object
For Each CurCell In ActiveWorkbook.ActiveSheet.Range("A7:G41, J7:NI41")
If UCase(CurCell.Value) = "V" Then
CurCell.Interior.Color = RGB(0, 204, 0) ' V
End If
Next
但是,这适用于所有的细胞。 我想这样做:
if Not CurCell.Rows(7) = Z Then
然后检查V.因此,如果CurCell是在第i行第j列,我检查,如果在第7行第j列中包含的Z。但我不知道该怎么做。 我可以排除所有列但有52列..
我认为这是你在找什么:
If Not Cell(7, CurCell.Column).Value = "Z" Then
'Your code
End If
此语句应检查列7细胞和CurCell的列是不是Z
这只会看第7行,而不是每第7行,像第14,21行,所以你需要添加一个循环.... –
@ShaiRado我不认为OP想要看每7行,只需要看第7行。 – tigeravatar
@tigeravatar在这种情况下,我用我的代码如下:) –
如果我正确地理解了你,你想排除所有周末行,并有“Z”,所以基本上你正在寻找每第7行。你可以使用类似下面的代码:
Option Explicit
Sub TestEverySevenRow()
Dim CurCell As Range
For Each CurCell In ActiveWorkbook.ActiveSheet.Range("A7:G41, J7:NI41")
' current row is divided by 7, therefore it's a weekend
If CurCell.Row Mod 7 = 0 Then
' for debug purpose only
CurCell.Value = "Current Row divided by 7"
' the rest of your code goes here
End If
Next
End Sub
你正在做的是着色细胞?你可以用条件格式来做到这一点:= AND(A $ 7 “Z”,A7 =“V”)'为什么这必须是VBA? – tigeravatar
有几个人使用它,格式也被复制。有了Vba,它可能会更加傻傻。 – user408041