【问题标题】:Declaring and assigning a value to a variable为变量声明和赋值
【发布时间】:2023-03-13 04:52:01
【问题描述】:

今天早上我决定打开我的愚蠢问题书,发现一个我无法摆脱的问题(可能是这个问题应该是关于代码审查的,但你告诉我)。

就这样 - 现在在 VBA 中,您通常会声明一个变量并按照我将使用的标准值分配给它,如下所示:

Dim n as Integer
n = 1

或者使用 Set 的对象:

Dim wb as Worksheet
Set wb = ActiveSheet

但这里还有另一种语法可能性,允许您通过这样做在同一行声明和分配一个值(让我们称之为替代方式):

Dim n as Integer: n = 1
Dim wb as Worksheet: Set wb = ActiveSheet

现在我们有两种方法来声明和分配变量。我的愚蠢书没有说明的是,是否有某种原因或情况导致替代方法不起作用或为什么几乎从未使用过?在我看来,如果变量位于给定值的程序的开头,那么使用替代语法会更容易阅读代码语法。

请明智和强大的 SO 成员,请赐教 - 我什么时候使用或应该使用替代方式?

【问题讨论】:

    标签: vba variables excel syntax variable-assignment


    【解决方案1】:

    实际上没有区别; “:”只是一个行分隔符,如果你愿意,可以格式化 - 不是特定于变量声明的约定:

    http://msdn.microsoft.com/en-gb/library/ba9sxbw4.aspx

    在某些情况下,使用它会使代码更具可读性,但显然它也有可能造成混淆:)

    【讨论】:

    • + 1 not a convention specific to variable declaration 真 :)
    • 看起来很明确。艰难我想出了一个子问题——当它出现在这样的声明中时呢rng.PasteSpecial Paste:=xlPasteAll?是否允许写这个rng.PasteSpecial Paste 和下一行=xlPasteAll
    • 不,:= 分配了一个预期的 命名参数 参数 - 请参阅此处 stackoverflow.com/questions/6548723/…
    • 谢谢@Tim yo tha besssss! ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2022-11-08
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多