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的速度。