(应为表达式)vba错误



所以基本上我的代码是这样的:

Sub clor2()
For j = 0 To 10    
For i = 0 To 10    
if i mod = 0 and and j mod=0 then    
[D2].Offset(j, i).Interior.ColorIndex = 37       
Else    
[D2].Offset(j, i).Interior.ColorIndex = 36    
End If        
Next i    
Next j        
End Sub

mod运算符与5 mod 2 = 16 mod 2 = 0类似。VBA等效于Excel';s mod函数。

因此,对于该条件,它应该是i Mod SomeNumber = 0

Option Explicit
Sub clor2()
Dim j As Long, i As Long
For j = 0 To 10
For i = 0 To 10
If i Mod 3 = 0 And j Mod 7 = 0 Then
[D2].Offset(j, i).Interior.ColorIndex = 37
Else
[D2].Offset(j, i).Interior.ColorIndex = 36
End If
Next i
Next j    
End Sub

Option Explicit在VBA中也是一个很好的实践-因此应该声明变量ij。-VBA:如果使用Option Explicit,则在函数中定义变量的问题

最新更新