+;=VBA中不存在运算符?
我试图证明单元格中的值,但尽管文档中说VisualBasic允许+=运算符,但它只是给了我“编译错误:预期:表达式” 是什么打破了,但如果我打破了+;=VBA中不存在运算符?,vba,excel,operators,Vba,Excel,Operators,我试图证明单元格中的值,但尽管文档中说VisualBasic允许+=运算符,但它只是给了我“编译错误:预期:表达式” 是什么打破了,但如果我打破了 Range("CellName") = Range("CellName") + 1 它工作正常不,它在VBA中不存在 VB.NET可能需要+=(尽管我甚至不确定) 你必须使用 Range("CellName").Value = Range("CellName").Value+1 可以找到一个很好的参考不,它没有数字参考,例如,请参见在VBA帮助中
Range("CellName") = Range("CellName") + 1
它工作正常不,它在VBA中不存在 VB.NET可能需要
+=
(尽管我甚至不确定)
你必须使用
Range("CellName").Value = Range("CellName").Value+1
可以找到一个很好的参考不,它没有数字参考,例如,请参见在VBA帮助中可以找到VBA运算符的“官方”列表: 帮助-->Microsoft Visual Basic帮助-->Visual Basic for Applications语言参考-->Visual Basic语言参考-->运算符-->算术运算符() 也许会引起争议,但下一个建议会为我节省很多时间和麻烦: 我认为最好忘记关于VB的一切,专注于VBA,因为这两种语言是不同的。人们不会提到“哦,OCaml、APL、PHP或Fortran都有增量运算符”,因为如果范围是VBA,那就不谈了。同样地,VB有或没有的东西也是离题的,通常它只是因为相似性而增加了混淆。更好地使用MS Office提供的“本地”Visual Basic作为帮助系统或在线提供的应用程序语言参考:
真烦人。为了让我的生活更轻松,我做了以下功能:
' ++
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
do while单元格(x,1)”
pp x
环
VBA
与VB.net
有很大不同-VBA
对类型要求不那么严格,但是VB.net
没有c>那么严格。我喜欢所有这些-VBA
似乎有限,但如果你在玩Excel,那么VBA
是应用程序的一部分,因此功能非常强大。根据官方列表,VBA没有+=运算符。别忘了实际回答这个问题。
do while cells(x,1) <> ""
pp x
loop