Excel Vba的缩写

我想知道是否有一些方法来缩写代码行,如下所示:

Sub Test() Dim A, B as Integer A = 0 If A = 0 Then B = 1 Else B = 2 End Sub 

更新:

而不是这样做:

 Sub Test() Dim A, B as Integer A = 0 If A = 0 Then B = 1 Else B = 2 End if End Sub 

我可以这样做:

 Sub Test() Dim A, B as Integer A = 0 If A = 0 Then B = 1 Else B = 2 End Sub 

还有什么其他的select,我可以做类似的东西,但与For,While,Select等…

谢谢

您可以使用a :开始一行新的代码,而不用开始新行。

  Dim i as integer: For i = 1 to 10 : debug.print i : next i 

鉴于VBA中的True等于-1,应该这样做。

 Sub Test() Dim A as Integer, B as Integer A = 0 B = 2 + (A = 0) End Sub 

可能有更简洁的方法,但VBA并不以稀疏代码行而闻名。 您可能希望调查Code Golf网站。

从这里和这里的答案采取,你可以用“:”减less行/合并行的总数,如下所示:

 Sub test2() Dim i As Long, s As Long For i = 1 To 10: s = s + i: Next i: MsgBox s End Sub 

那是你以后的事?

 Sub Test() Dim A as Long, B as Long A = 0 B = 2 If A = 0 Then B = 1 End Sub 

这就是我要做的方式,如果没有别的,只有一个陈述,你不需要结束。

我为什么要这样做? 这意味着任何人都可以维护代码,这是非常容易的。

我没有注意到你没有任何暗淡的东西,你必须把每一个types,而不是列表中的最后一个。

也不要使用整数,在VBA中使用太长。 这里有大量的文档说明了为什么,谷歌“VBA Long而不是Integer”的search速度要快于我input的速度。