Lan*_*nza 5 excel vba excel-vba
例如,以下两个代码是否相同?如果我之后不写"为整数",是否没有必要使用Dim?
Sub something()
MyNumber = 10
Worksheets(1).Range("A1") = MyNumber
End Sub
Run Code Online (Sandbox Code Playgroud)
和
Sub something()
Dim MyNumber
MyNumber = 10
Worksheets(1).Range("A1") = MyNumber
End Sub
Run Code Online (Sandbox Code Playgroud)
Sam*_*Sam 17
如果你变暗了一个变量,你让编译器知道你计划在使用该变量之前使用一定量的内存.在现代机器上的大多数VBA程序中,这不会产生巨大的性能优势,但被广泛认为是最佳实践.
其被认为是最佳实践的原因之一是VBE中的自动大写功能可以帮助您进行编码和调试以发现任何问题.
如果为变量标注尺寸,请执行以下操作:
Dim hWnd
hWnd = 1234
'// some more code....
hwnd = 2345
Run Code Online (Sandbox Code Playgroud)
VBE会自动w将变量名称大写并将其更改为hWnd- 这可以作为一个小小的保证,您已经获得了正确的变量并且没有创建拼写错误.
如果不对变量进行标注,则很容易发现自己处于这种情况:
hWnd = 1234
'// some code here
hwnd = 2345
Run Code Online (Sandbox Code Playgroud)
在这种情况下,VBE将真正改变的第一次出现hWnd到hwnd.然后我们继续创建一个错字,hnwd现在我们的代码如下所示:
hwnd = 1234
'// code here
hwnd = 2345
'// code here
hnwd = 3456
Run Code Online (Sandbox Code Playgroud)
突然之间,你正在滚动代码行,试图找出你为什么会得到意想不到的结果.
要安全
Option Explicit As各自的数据类型或对象.这也提供了智能感知的额外好处