保留在内存中的更好是字符串或对象?

时间:2020-05-15 18:25:08

标签: excel vba

我正在用Excel VBA编写一种复杂的应用程序。

尽管我通常避免使用全局变量,但几乎将每个变量都保留在本地过程范围内,但在全局变量中我需要维护几个值。

其中之一是对同一工作簿中工作表的引用。有很多(可能是十几个)不同的工作表,其中我需要记住一个将用于主子菜单的工作表和两个不同的功能。

因此,我有两个选择:或者在函数之间存储对目标表的引用,或者我将需要再次运行40行代码处理以发现正确的函数。我认为这不是最困难的选择。

就系统内存性能而言,我的两个问题是最好的方式来存储引用。

  1. 工作表引用是在一个函数中设置的(发现正确的工作表并检索信息);将在主子目录中使用;并且还用于其他功能(最后,如果得到用户确认,它将在表格中注册新信息)。 (a)使用全局变量更好吗?该变量可以在main子函数和两个函数中引用;或(b)在主子目录中的局部变量,将其ByRef(仍然为空/无)传递给第一个函数,在该函数中,我将为其分配正确的值,并进一步传递给第二个功能?

  2. 是否最好(a)将此引用存储为带有工作表名称的全局string,并在每个函数中使用全局字符串来设置本地变量以引用工作表(Set sht = ThisWorkbook.Sheets (stringWithName))还是(b)将引用存储为全局Excel.Worksheet对象并在每个过程中直接使用它? (当然,在我完全没心态之后,将其设置为Nothing)?

0 个答案:

没有答案
相关问题