7

学校名をキーとして、配列を値として持つ Dictionary があります。ディクショナリへのキーと値のペアの追加が完了したら、特定の条件が満たされているかどうかを確認した後、配列の値を更新できるようにしたいと考えています。ただし、条件を満たしていても値は更新されません。何かご意見は?

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)
4

1 に答える 1

8

これを試して:

2 番目の配列を作成します。

Dim vArray as variant 

redim vArray(0 to 2) 

次に、ディクショナリ配列を新しく作成した配列に次のように割り当てます。

vArray = schdict.Item(schname)

配列の値を設定します。

vArray(1) = True

最後に、配列をディクショナリ項目に割り当てます。

schdict.Item(schname) = vArray 
于 2013-11-03T12:05:11.593 に答える