|
简单的例子:- Sub findtest()
- arr = [a1].CurrentRegion '获取原始数据并存入VBA数组arr中备用。
- '(原因是,在VBA内存数组中计算操作,比直接操作单元格地址快成百上千倍)
-
- Set d = CreateObject("Scripting.Dictionary") '建立字典的语句。(这一句你照搬就是了,以后会懂的)
-
- For i = 1 To UBound(arr) '循环遍历原始数据数组arr。(其中UBound(arr)是自动获取数组arr下标,可理解为最大行数)
- d(arr(i, 2)) = d(arr(i, 2)) & "," & i '对第2列(这里用arr(i,2)来定位,i为可变行,2为第2列)内容压入字典,并以其行为字典内容。
- Next
-
- t = 35 '这里假定你要查找的值=35,或者你可以修改为38等试试看。
- MsgBox d(t) '可以显示该t值是否在第2列中。如果有就显示行数,如果没有当然就显示为空白。
-
- If Not d.exists(t) Then MsgBox "该值未找到" '或者使用这一句,即仅当未找到时才做提醒。
- End Sub
复制代码 楼主看一下效果吧。
估计你还有很多东西要学习。
|
|