Bri*_*get 4 excel vba dictionary excel-vba
有没有办法找到与VBA字典中给定项目对应的键?
http://msdn.microsoft.com/en-us/library/aa164502%28v=office.10%29.aspx MSDN建议可以使用"Key"属性,但是当我尝试使用它时,我收到错误( "编译错误:无效使用属性").我在过去发现这里给出的"存在"方法对我来说也不起作用,所以我认为它们是以前版本的Office中的命令,现在已经过时了.但是,我无法找到最新版Office的等效文件.
我可以使用a for each循环来创建一个新的字典,其中旧字典中的键是新字典中的项(反之亦然),然后使用".Item",但我想知道是否有内置命令会让我避免这种情况.
Sid*_*out 11
但我想知道是否有一个内置命令可以让我避免这种情况.
不,没有内置命令.你将不得不求助于某种循环.这是一个例子.我创建了一个小函数来获取对应于字典中项目的键.
Dim Dict As Dictionary
Sub Sample()
Set Dict = New Dictionary
With Dict
.CompareMode = vbBinaryCompare
For i = 1 To 10
.Add i, "Item " & i
Next i
End With
Debug.Print GetKey(Dict, "Item 3")
End Sub
Function GetKey(Dic As Dictionary, strItem As String) As String
Dim key As Variant
For Each key In Dic.Keys
If Dic.Item(key) = strItem Then
GetKey = CStr(key)
Exit Function
End If
Next
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27625 次 |
最近记录: |