x = x + 1的简写?

gre*_*cfg 41 ms-access vba access-vba

Sub btn1_Click()
Static value As Integer
value = value + 1
MsgBox value
End Sub
Run Code Online (Sandbox Code Playgroud)

我发誓当我在大学学习VB.net课程时,有一种较短的方法可以告诉变量为自己添加''.也许x = + 1.我现在使用Access而不是visual studio.当我在VBE中尝试它时,它会删除+.我甚至Option Explicit没有改变就删除了

假设答案是否定的,那么就没有办法简单地说它并且它只是一个特殊的VBA

Ale*_* K. 70

可悲的是operation-assignment,VBA 中没有运营商.

(Addition-assignment +=等可在VB.Net中找到)

毫无意义的解决方法;

function Inc(ByRef i As Integer)
   i = i + 1  
end function
...
Static value As Integer
inc value
inc value
Run Code Online (Sandbox Code Playgroud)

  • 来自cpp背景的+1我记得在第一天我拿起VBA并做了完全相同的毫无意义的解决方法时问自己这个问题哈哈 (13认同)
  • 应该注意`inc` 应该是一个`Sub`,因为在这种情况下`Function` 的返回值被丢弃并且不需要。将其声明为 `Sub` 反而使这个意图变得清晰,并且不会让它看起来像一个错误。 (2认同)

小智 8

如果要直接在函数中调用递增数字,此解决方案可以更好地工作:

Function inc(ByRef data As Integer)
    data = data + 1
    inc = data
End Function
Run Code Online (Sandbox Code Playgroud)

例如:

Wb.Worksheets(mySheet).Cells(myRow, inc(myCol))
Run Code Online (Sandbox Code Playgroud)

如果函数不inc()返回任何值,则上面的行将产生错误。

  • 您的实现是前缀增量 ++myCol。它返回增加的值。如果你想要后缀(myCol++),那么该函数应该如下所示:`Function inc(ByRef data As Integer) inc = data data = data + 1 End Function` (3认同)