我正在尝试运行一个循环以创建一些数据,如图所示。我正在尝试运行这个简单的循环,但只希望它针对奇数行甚至偶数行运行。我对如何执行此操作有一些想法,但不知道如何将其放入代码中。
例如,我不确定Excel VBA是否可以处理以下内容:如果单元格值= S AND行为奇数,则...
另一件事我认为“范围”可以定义为仅奇数或偶数,但没有运气。这可能吗?
Dim typecheck As Range
Set typecheck = Range("B1:B60") 'set the range itself to odd/even? or no range at all? just individually?
For Each cell In typecheck
If cell.Value = "S" Then 'and odd row?
cell.Offset(0, 1).Value = "_status"
End If
Next
预期结果是,循环将遍历1-60行,并且仅当范围中的单元格具有S值并且该行是奇数行时才会产生结果。
答案 0 :(得分:1)
这将起作用:Mod
函数为您提供余数。如下使用。
Dim typecheck As Range
Set typecheck = Range("B1:B60")
For Each cell In typecheck
If cell.Value = "S" And Not cell.Row Mod 2 = 0 Then 'For Odd Row
cell.Offset(0, 1).Value = "_status"
End If
Next
仅在奇数行上通过if条件。对于偶数行,只需从if条件中删除Not
。
在将行号除以2后,我们正在检查余数。如果0
则是偶数行,如果不是,则是奇数行。