小编Ale*_*ing的帖子

在Excel VBA中实例化另一个类中的对象

我正在使用Excel VBA在那里我有很多的数据集的一个项目,每一个填充了一系列的"病人",这有很多的参数(如治疗,预后等).为了解决这个问题,我打算创建一个名为"患者"的类,其中包含治疗和结果等属性.然后创建一个名为"dataset"的类,其公共属性为"patient".我已经创建了类,我可以实例化一个数据集对象.但是,如何在数据集对象中实例化患者对象,或理想情况下是一组患者对象?

数据集类模块:

Private pNumber As Integer
Public Patient As Patient

Public Property Get Number() As Integer
    Number = pNumber
End Property
Public Property Let Number(p As Integer)
    pNumber = p
End Property
Run Code Online (Sandbox Code Playgroud)

患者类模块:

Private pID As Integer
Private pTreatment As Boolean
Private pResponse As Single

Public Property Get ID() As Integer
    ID = pID
End Property
Public Property Let ID(p As Integer)
    pID = p
End Property

Public Property Get Treatment() As Boolean
    Treatment = pTreatment
End Property
Public …
Run Code Online (Sandbox Code Playgroud)

excel vba class subclass excel-vba

5
推荐指数
1
解决办法
439
查看次数

操作没有循环的数组

学习VBA for Excel,我试图在不使用循环的情况下完成我的编码.作为练习,将两个相邻范围的数字相乘,我想出了这个:

Sub multiply_range()

Dim a, b, c As Range
Set a = Range("a1:a5")
Set b = Range("b1:b5")
Set c = Range("c1:c5")

a.Value = Evaluate("row(" & a.Address & ")")
b.Value = Evaluate("row(" & b.Address & ")")
c.Value = Evaluate(a.Address & "*" & b.Address)

End Sub
Run Code Online (Sandbox Code Playgroud)

哪个效果很好.现在我想做类似的事情,但改为使用数组.从这段代码开始:

Sub multiply_array()

Dim aArr(), bArr(), cArr()
ReDim aArr(5), bArr(5), cArr(5)

For i = 0 To 4
    aArr(i) = i + 1
    bArr(i) = i + 1
Next

For i = 0 To 4 …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

4
推荐指数
1
解决办法
3054
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

class ×1

subclass ×1