gpt4 book ai didi

excel - 如何在模块中声明公共(public)变量并访问工作表对象中的变量?

转载 作者:行者123 更新时间:2023-12-04 20:37:48 31 4
gpt4 key购买 nike

我在声明公共(public)变量和让我的工作表对象访问它时遇到问题。例如,我有一组不会改变的字符串(这是否意味着它们是静态的?),在模块中定义:

Dim List1 As New Collection

Public Sub Definitions()
With List1
.Add "Steelers"
.Add "Vikings"
.Add "Packers"
End With
End Sub()

之后,我想在工作表的私有(private)子中调用 List1:
Private Sub CallThis()
Call Definitions
Dim Count as Variant
For Each Count In List1
...
Next Count
End Sub

但是,我收到“变量未定义”错误。我究竟做错了什么?

任何帮助表示赞赏!谢谢。

最佳答案

List1未在 CallThis 范围内定义子程序。使用Option Explicit提醒您注意此类问题。这应该在每个模块中进行,并且需要声明所有变量。

Option Explicit

Public List1 As Collection
Public Sub Definitions()
Set List1 = New Collection
With List1
.Add "Steelers"
.Add "Vikings"
.Add "Packers"
End With
End Sub

为了使您的变量成为“公共(public)”变量,您需要使用 Public 声明它。关键字而不是 Dim .

请注意,我每次都将 List1 设置为一个新集合。否则,每次调用定义时,都会将更多项目添加到集合中。

哦,你的公共(public)子代码的最后一行有语法错误,我更正了。

关于excel - 如何在模块中声明公共(public)变量并访问工作表对象中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416621/

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