我正在尝试在单元格中创建值,但尽管文档说Visual Basic允许+ =运算符,但它只是给我“编译错误:预期:表达式”。
Range("CellName").Value += 1
是什么打破了,但如果我做了
Range("CellName") = Range("CellName") + 1
工作正常
答案 0 :(得分:10)
不,它在VBA中不存在。
VB.NET可能需要+=
(虽然我甚至不确定)。
你必须使用
Range("CellName").Value = Range("CellName").Value+1
可以找到一个很好的参考here
答案 1 :(得分:3)
VBA帮助的“官方”列表可以在VBA帮助中找到:
帮助 - > Microsoft Visual Basic帮助 - > Visual Basic for Applications语言参考 - > Visual Basic语言参考 - >运营商 - >算术运算符(online here)
也许是有争议的,但下一个建议会给我带来很多时间和麻烦:
我认为最好忘记关于VB的所有并关注VBA,因为这两者是不同的语言。人们没有提到“哦,OCaml,APL,PHP或Fortran都有增量运算符”,因为如果范围是VBA,它就是偏离主题的。以同样的方式,VB有或没有偏离主题,通常它只会增加混乱,因为它是相似的。更好地使用MS-Office提供的“本地”Visual Basic for Applications语言参考,由帮助系统提供,或在线提供:
http://msdn.microsoft.com/en-us/library/office/gg264383%28v=office.15%29.aspx
答案 2 :(得分:2)
真的很烦人。我做了以下功能,让我的生活更轻松:
' ++
Function pp(ByRef x, Optional y = 1)
x = x + y
pp = x
End Function
' --
Function mm(ByRef x, Optional y = 1)
x = x - y
mm = x
End Function
由于您仍然需要输入相同金额,因此无法真正帮助您解决问题:
Range("CellName") = pp(Range("CellName"))
但是对于简单的循环增量,它有帮助:
do while cells(x,1) <> ""
pp x
loop
答案 3 :(得分:0)