(预期表达式)vba 错误
Posted
技术标签:
【中文标题】(预期表达式)vba 错误【英文标题】:(expected expression) vba error 【发布时间】:2018-07-27 15:51:31 【问题描述】:所以基本上我的代码是这样的:
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
【问题讨论】:
你有两次。 Vityata 的正确答案如下。我只是想解释一下他们做了什么来修复它。 你刚刚看到了,谢谢。 也不做任何修改 除非那是你永远不会再看的一次性代码,否则你会想要properly and consistently indent it。 【参考方案1】:mod
运算符像这样使用5 mod 2 = 1
和6 mod 2 = 0
.VBA equivalent to Excel's mod function。
因此,条件应该是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 中也是一个很好的实践——因此你的变量 i
和 j
应该被声明。 - VBA: problems with defining variables in function if Option Explicit is used
【讨论】:
我的代码有什么问题?我没有看到任何差异,但 urs 工作 如果我 Mod = 3 之后,你有两个词 And in there 两次 @tehcoder - 我已经更新了。一般来说,无论何时寻找两个相似文本之间的差异,您都可以使用一些差异检查器。在线查看这个 - diffchecker.com以上是关于(预期表达式)vba 错误的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式模式选择正确的子字符串,但在运行宏 vba 时抛出错误