我正在尝试增加单元格中的值,但是尽管文档说 Visual Basic 允许 += 运算符,但它只是给了我“编译错误:预期:表达式”。
Range("CellName").Value += 1
是什么坏了,但如果我这样做
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 for Applications Language Reference:
http://msdn.microsoft.com/en-us/library/office/gg264383%28v=office.15%29.aspx
这真的很烦人。我做了以下功能,让我的生活更轻松:
' ++
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
不,它没有数字,例如参见http://msdn.microsoft.com/de-de/library/215yacb6%28v=vs.80%29.aspx / http://msdn.microsoft.com/en -我们/图书馆/cey92b0t.aspx