11

我正在尝试增加单元格中的值,但是尽管文档说 Visual Basic 允许 += 运算符,但它只是给了我“编译错误:预期:表达式”。

Range("CellName").Value += 1

是什么坏了,但如果我这样做

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

它工作正常

4

4 回答 4

13

不,它在 VBA 中不存在。

VB.NET 可能需要+=(尽管我什至不确定)。

你必须使用

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

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

于 2013-06-22T23:07:35.027 回答
4

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

于 2014-09-18T08:37:03.903 回答
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
于 2017-06-14T14:04:05.743 回答
0

不,它没有数字,例如参见http://msdn.microsoft.com/de-de/library/215yacb6%28v=vs.80%29.aspx / http://msdn.microsoft.com/en -我们/图书馆/cey92b0t.aspx

于 2013-06-22T23:10:28.287 回答