在Excel VBA字典中更新值

7
我有一个字典,其中学校名称为键,数组为值。一旦向字典添加了键值对,我希望能够在检查是否满足某些条件后更新数组的值。然而,即使条件得到满足,这些值也不会被更新。有什么想法吗?
Dim nre(0 To 2) As Boolean
nre(0) = False
nre(1) = False
nre(2) = False

Dim schdict
Set schdict = CreateObject("Scripting.Dictionary")

For i = 2 To numrows
    schname = ActiveSheet.Cells(i, schnamecolumn).Value
    category = ActiveSheet.Cells(i, categorycolumn).Value
    If schdict.Exists(schname) = False Then
        schdict.Add schname, nre
    End If

    If category = "New Placement" Then
        schdict.Item(schname)(0) = True
    ElseIf category = "Renomination" Then
        schdict.Item(schname)(1) = True
    Else
        schdict.Item(schname)(2) = True
    End If
Next i

MsgBox schdict.Item("Division 01")(0)
1个回答

8
尝试以下操作:
创建第二个数组:
Dim vArray as variant 

redim vArray(0 to 2) 

然后将字典数组分配给新创建的数组,如下所示:
vArray = schdict.Item(schname)

设置数组的值:

vArray(1) = True

最后,将数组分配给字典项:

schdict.Item(schname) = vArray 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接