VBA中是否存在+ =运算符?

我试图在一个单元格中的值,但尽pipe文档说Visual Basic允许+ =运算符,它只是给我“编译错误:预期:expression式”。

Range("CellName").Value += 1 

是什么突破,但如果我这样做

 Range("CellName") = Range("CellName") + 1 

它工作正常

不,在VBA中不存在。

VB.NET可能采取+= (虽然我甚至不知道这一点)。

你必须使用

 Range("CellName").Value = Range("CellName").Value+1 

可以在这里find一个很好的参考

VBA帮助的“官方”列表可以在这里find:

帮助 – > Microsoft Visual Basic帮助 – > Visual Basic for Applications语言参考 – > Visual Basic语言参考 – >运算符 – >算术运算符( 在线 )

也许有争议,但接下来的build议会为我节省很多时间和头痛:

我会说,最好忘了关于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

真的很烦人 我做了以下function让我的生活变得更轻松:

 ' ++ 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 

对于你的情况并没有什么帮助,因为你仍然需要input相同的金额:

 Range("CellName") = pp(Range("CellName")) 

但是对于简单的循环增量,它有助于:

 do while cells(x,1) <> "" pp x loop 

不,它没有它的数字,例如见http://msdn.microsoft.com/de-de/library/215yacb6%28v=vs.80%29.aspx/ http://msdn.microsoft.com/en -us /库/ cey92b0t.aspx