VBA在Collection中获取按键值

可能重复:
VBA集合:密钥列表

也许这是一个非常简单的问题,但我是VBA新手。 我有一些数据,我想用作收集(键,值)。 我怎样才能获得价值的关键?

我不认为你可以用Collection对象来做到这一点。

但是,您可以使用替代Dictionary ,您需要在VBA编辑器中将其包含在Excel项目中:单击“工具”菜单,select“参考”并find“Microsoft脚本运行时”,之后您应该能够做这样的事情:

 Public Sub Test() Dim dict As New dictionary dict.Add "a", 1 ' "Add" parameters are reversed compared to Collection dict.Add "b", 2 dict.Add "c", 3 If KeyFromvalue(dict, 2) = "b" Then Debug.Print "Success!" Else Debug.Print "fail..." End If End Sub Public Function KeyFromvalue(dict As dictionary, ByVal target) Dim idx As Long For idx = 0 To dict.Count - 1 If dict.Items(idx) = target Then KeyFromvalue = dict.Keys(idx) Exit Function End If Next End Function