|
- Sub 提取未使用值()
- Dim d '用于存储sheet1的数据
- Dim a '用于存储sheet2的数据
- Dim b(1 To 1000, 1 To 2) '用于存储未使用的数据
- Dim k As Integer '记录数组b中的行数
- Dim x As Integer '循环变量
- a = Sheets("sheet2").Range("A1:B" & Sheets("sheet2").Range("A1").End(xlDown).Row)
- Set d = CreateObject("scripting.dictionary")
- '将sheet1中的数据存到字典d
- For x = 2 To Sheets("sheet1").Range("A1").End(xlDown).Row
- d.Add Sheets("sheet1").Cells(x, 1).Value, Sheets("sheet1").Cells(x, 2).Value
- Next x
- '将sheet2中未使用的数据存入数组b
- For x = 1 To UBound(a)
- If Not d.exists(a(x, 1)) Then
- k = k + 1
- b(k, 1) = a(x, 1)
- b(k, 2) = a(x, 2)
- End If
- Next x
- '将数组b中的数据返回到sheet1以D1开头的单元格区域
- Sheets("sheet1").Range("D1").Resize(k, 2) = b
- End Sub
复制代码 |
|