总而言之,我正在VBA中建立一个类模块结构,以添加具有多个里程碑的计划,但是我对此并不陌生。我做了以下工作:
因此,在我的模块中,我现在为特定计划指定里程碑:
Plan.Milestones.Add "MilestoneA", Cells(i, 5)
Plan.Milestones.Add "MilestoneB", Cells(i, 7)
...
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。现在,对于MilestoneC,我想知道MilestoneA的价值。如何获得名称为“ MilestoneA”的里程碑的值。
我知道以下代码会给我答案,但是我不想对'item(1)'进行硬编码(我想使用名称):
Plan.Milestones.Item(1).Value
Run Code Online (Sandbox Code Playgroud)
在clsMilestones类中:
Private prvt_Milestones As New Collection
Property Get Item(Index As Variant) As clsMilestone
Set Item = prvt_Milestones(Index)
End Property
Sub Add(param_Name As String, param_Value As String)
Dim new_milestone As clsMilestone
Set new_milestone = New clsMilestone
new_milestone.Name = param_Name
new_milestone.Value = param_Value
prvt_Milestones.Add new_milestone
End Sub
Run Code Online (Sandbox Code Playgroud) 如何M根据M=[a:(b-a)/5:b](从5 a到b5步)定义矩阵,何时a和b是向量或集合; 更具体地说,每行i中M应该具有等于a(i)和最后一个值的第一个值,b(i)并且在它们之间具有5个相等的步长.
例如,如果我有
a = [0; b = [10;
0]; 20];
Run Code Online (Sandbox Code Playgroud)
我想生成一个M表格矩阵
[0 2 4 6 8 10;...
0 4 8 12 16 20]
Run Code Online (Sandbox Code Playgroud)
我知道如何使用循环来做到这一点,但我正在寻找一个没有的解决方案.我怎样才能做到这一点?