-1
ExcelシートからKey => Valueのペアを持つ辞書を作成する関数を作成しました。これまでのところうまく動作しますが、セルが同じ値を持つとき、私の辞書はキーが重複することがあります。辞書のキーとしてのVBAセル
誰でもこの現象を説明できますか?
Function CreateDictionaryBySheet(_
SheetName As String, _
Optional KeyColumn As Long = 1, _
Optional ValueColumn As Long = 2, _
Optional StartRow As Long = 2 _
) As Object
Dim MyDictionary As Object
Set MyDictionary = CreateObject("Scripting.Dictionary")
Worksheets(SheetName).Activate
Dim MaxRows As Long
MaxRows = GetNumberOfRows(SheetName, KeyColumn)
Dim Row As Long
For Row = StartRow To MaxRows
MyDictionary.Item(Cells(Row, KeyColumn)) = Cells(Row, ValueColumn)
Next Row
Set CreateDictionaryBySheet = MyDictionary
End Function
は、私は私のコードをチェックするために、このループを書いた:
Sub Test()
Dim Key As Variant
Dim MyDictionary As Object
Set MyDictionary = CreateDictionaryBySheet("Config")
For Each Key In MyDictionary
MsgBox (Key & " => " & MyDictionary(Key))
Next Key
End Sub
細胞(2,1)と細胞(3,1)の両方が、 "" および細胞であると仮定すると、(2,2) = 1とセル(3,2)= 2私は2つのmsgboxを見るでしょう: "a => 1"と "a => 2"を持つもの
これは私がちょうど1つのmsgboxつまり "a => 2"
ありがとうございました! ピーター