gpt4 book ai didi

vba - 如何正确使用 Dim

转载 作者:行者123 更新时间:2023-12-04 21:08:13 25 4
gpt4 key购买 nike

我正在用 excel VBA 编写代码。我不是什么天才,但现在已经学习了一段时间,但边学边学。我在互联网上搜索过很多关于何时声明变量、字符串或整数的信息。但我还没有完全理解。使用下面的代码我可以成功执行,而无需声明任何变量。我用过的问题是我应该使用 Dim var1 来调暗 var100 还是这只是什么都不做

Var1 = frmdriverstep1.Labelpa54.Caption
Var2 = frmdriverstep1.Labelza54.Caption
Var3 = frmdriverstep1.ComboBoxga54.Text
Var4 = frmdriverstep1.ComboBoxna54.Text
Var5 = frmdriverstep1.a54label.Caption


DBFullName = "H:\*************.accdb"

Cs1 = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & DBFullName & ";" & _
"Persist Security Info=False;"

Set CnnConn = New ADODB.Connection
CnnConn.Open Cs1
'zone1
If Var1 >= "0" Then
Set Rst1 = New ADODB.Recordset
Rst1.Open "Zone1", CnnConn, adOpenKeyset, adLockOptimistic, adCmdTable
Rst1.AddNew
Rst1.Fields("Audit_Date") = vardate
Rst1.Fields("Sequence") = varseq
Rst1.Fields("Style") = vartrim
Rst1.Fields("Auditor") = varauditor
Rst1.Fields("Catagory") = "WRINKLES"
Rst1.Fields("Portion") = Var1
Rst1.Fields("Zone") = Var2
Rst1.Fields("Grade") = Var3
Rst1.Fields("Number") = Var4
Rst1.Fields("Score") = Var5
Rst1.Fields("Seat_Model") = varmodel
Rst1.update
Rst1.Close

最佳答案

不使用 Option Explicit 的真正问题是您不会被告知未声明的变量,这很容易导致调试噩梦。
考虑以下代码:

SomeUndeclaredVariable= 100
Debug.Print SomeUndeclareVariable

第二行将打印 0 而不会引发错误,您可能需要很长时间才能意识到第二行中使用的变量名与第一行中使用的变量名不同。
此外,Variant 的效率远低于“原生”类型。

此外,对于 Object 变量,不正确声明它们会剥夺您使用 Intellisense 的好处。
请注意,VBE 中有一个选项可以在每个新模块的顶部自动插入该 Option Explicit

关于vba - 如何正确使用 Dim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31745635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com