工作中遇到的问题,需要查询的内容实在太多了,做了个简单的例子,希望有高手能帮忙写段代码,感激不尽~~!!
需求: A2填入名称后,从“数据源”获取对应的“编号”、“规格”、“实际规格”,再根据所获取的“编号”获取所有的“批量”(如附件“查询”左侧所示) 批量有重复的,若重复只显示一个即可,如附件“查询”左侧J列为aa对应的批量,实际显示只需像I列即可
数据源说明:实际应用时数据存在于约20个工作表中,工作表名称没有规律,每个工作表中数据约2000个,附件“数据源”为其简单例子
- Sub Macro1()
- Dim arr, s&, i%, j&, mc
- Application.ScreenUpdating = False
- mc = [a2]: [e2:i2000].ClearContents: s = 1
- With GetObject(ThisWorkbook.Path & "\数据源.xls")
- For i = 1 To .Sheets.Count
- arr = .Sheets(i).Range("a1").CurrentRegion
- For j = 2 To UBound(arr)
- If arr(j, 1) = mc Then
- s = s + 1
- Cells(s, 5) = arr(j, 3)
- Cells(s, 7) = arr(j, 5)
- Cells(s, 8) = arr(j, 6)
- Cells(s, 9) = arr(j, 13)
- End If
- Next
- Next
- .Close 0
- End With
- Application.ScreenUpdating = True
- End Sub
复制代码
|