vba运行时的数组字典

时间:2017-06-23 19:31:57

标签: vba excel-vba dictionary excel

如何创建数组字典?我想按如下方式存储数据:

trainingdict.add empname , softskills(t1, t2, t3, t4) [为一个给定的emp训练的一系列软件技能]

trainingdict.add empname , techskills(t1, t2, t3, t4) [为一个给定的emp训练的一系列技术工具]

现在,我已经通过&#34 ;;"加入他们,将训练与特定的emp联系在一起。并使用" |"将softskills(朝向管道分隔符的左侧)和techskills(朝向管道分隔符的右侧)隔离,如下所示:

trainingdict.add empname , t1;t2;t3;t4 | t1;t2;t3;t4

这是有效的,但需要额外的循环来分割分隔符并访问值。

2 个答案:

答案 0 :(得分:0)

为什么不尝试将变体添加为值?

set d= new dictionary
v = make_variant(x,y,z)
d.Add empname, v

这将作为:

d("employee")(0) 'x
d("employee")(1) ... 'y

答案 1 :(得分:0)

使用Type

轻松跟踪正在发生的事情的方法
Option Explicit

Type SkillType
    techskills() as string
    SoftSkills() as string
end type



sub test
Dim Temp as Skilltype
Dim Arr1()
Dim Arr2()
'... populate arrays
set Temp = new Skilltype
Temp.techskills=Arr1
Temp.Softskills=Arr2
'populate dictionary
set trainingdict(empname)=Temp
end sub

注意:未经测试,但这是很好的参考