VBA内存使用:在不同的子代中声明相同的变量而不是在模块中公开

时间:2016-11-04 22:34:26

标签: excel vba excel-vba

关于内存使用的快速问题,因为我希望始终以最佳方式编写代码。我环顾四周,但没有找到我的问题。

我的工作簿中有几个工作表,我通常在创建一个新的excel / vba项目时创建。那些可能是“LIBRARY”和“DATA”之类的东西。在每个分组的开头,我将声明:

<header>
    Contact Form
</header>

<fieldset>
    <div class="row">
        <section class="col col-6">
            @Html.Label("Contact Name", new { @class = "label" })
            <label class="input">
                @Html.TextBox("ContactName", "", new { @class = "form-control" })
            </label>
        </section>

        <section class="col col-6">
            @Html.Label("Email Address", new { @class = "label" })
            <label class="input">
                @Html.TextBox("ContactEmail", "", new { @class = "form-control" })
            </label>
        </section>
    </div>
</fieldset>

<fieldset>
    <section>
        @Html.Label("Attachment:", new { @class = "label" })
        <div id="dZUpload" class="dropzone">

        </div>
    </section>
</fieldset>

<footer>
    <button type="submit" class="btn btn-primary">
        Submit
    </button>
</footer>

我为每个将使用这些工作表的子程序执行此操作。我的问题是,在模块中公开声明这些工作表并使用工作簿开放宏来初始化它们会更加优化还是相同。

第1单元:

Dim libWS as Worksheet
Dim dataWS as Worksheet
Set libWS = Worksheets("LIBARARY")
Set dataWS = Worksheets("DATA")

本工作簿:

public libWS as Worksheet
public dataWS as Worksheet

速度/内存使用方面的最佳含义。

由于

1 个答案:

答案 0 :(得分:2)

我认为这两个选项都是不必要的,因为您可以直接将工作表称为Excel对象模型中的对象。如果您将对象(而不是工作表名称)重命名为DATALIBRARY

enter image description here

然后你可以用这样的代码来引用它们:

enter image description here