gpt4 book ai didi

编程语言|如何创建一个类模块来构建对象并将它们分配给数组/集合

转载 作者:行者123 更新时间:2023-12-03 03:27:26 29 4
gpt4 key购买 nike

我对编码有点陌生,可能不会使用正确的术语,希望我说的有道理。

我创建了一个类模块来构建对象。我的类模块当前有一些变量(我打算在构建代码时添加一些方法)。

'CLASS MODULE NAMED clsNodes

Public i As Single
Public j As Single
Public coll As Collection

我的模块将根据用户输入的单元格值构建对象

Option Explicit

Dim i As Single, j As Single
Dim ni_nodes As Single, nj_anchors As Single

ni_nodes = range("A1")
nj_nodes = range("A2")

For i = 1 to ni_nodes
For j = 1 to nj_nodes

Set node = New clsNodes
node.i = i
node.j = j

Next j
Next i

我的代码当前的问题是,当它单步执行 for 循环时,对象节点在执行 j for 循环的每一步都会被覆盖。

我想要做的是创建一个新对象或将对象添加到集合中,以便我可以轻松引用该对象及其变量。例如,在我的模块中,我想调用类似于...的节点。

1stnode_i_value = node(1).i
3rdnode_j_value = node(3).j

希望这是有道理的......我可能没有使用最好的方法,所以请启发我。

最佳答案

您可以将对象存储在集合中:

Sub Test()

Dim Node As clsNodes, i As Long, j As Long
Dim coll As New Collection, n

For i = 1 To 5
For j = 1 To 5

Set Node = New clsNodes
Node.i = i
Node.j = j
coll.Add Node

Next j
Next i

'list out stored objects
For Each n In coll
Debug.Print n.i, n.j
Next n

End Sub

关于编程语言|如何创建一个类模块来构建对象并将它们分配给数组/集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46498952/

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