首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在宏终止时,变量会继续存在吗?

在宏终止时,变量会继续存在吗?
EN

Stack Overflow用户
提问于 2016-08-12 05:35:52
回答 1查看 27关注 0票数 0

我正在设置一个excel/vba宏,在该宏中,我希望在循环期间将数字附加到数组中。但是,我希望数组能够从宏用到宏用(即。如果我在星期二运行宏时数组被1,3,5填充,并且我在星期三再次运行宏并追加8,9和10,那么数组需要是1,3,5, 8,9,10)。在VBA中可以做到这一点吗(即使整个excel工作表被关闭,然后重新打开-尽管它是在关闭之前保存的-)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-12 06:13:33

通过使用Static关键字声明宏,宏的变量将在两次函数调用之间保存它们的值。但当您关闭工作簿时,将擦除这些值。

或者,您可以将数组保存在Workbook的Names集合中。

代码语言:javascript
复制
Function getArrayFromName(name As String)
    Dim s As String
    On Error Resume Next
    s = ThisWorkbook.Names(name)
    s = Mid(s, 3, Len(s) - 3)
    On Error GoTo 0

    getArrayFromName = Split(s, ",")

End Function

Sub setArrayFromName(name As String, value As Variant)
    ThisWorkbook.Names.Add name, value, False
End Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38906517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档