|
发表于 2013-7-3 17:55
|
显示全部楼层
本楼为最佳答案
示例文件,请举一反三
本帖最后由 suye1010 于 2013-7-4 13:51 编辑
- Sub ExtractData()
- Dim arr, d, Sht, i As Integer, j As Integer
- Set d = CreateObject("Scripting.Dictionary")
- For Each Sht In ThisWorkbook.Sheets
- arr = Sht.Range("G1:CX" & Sht.Range("G65536").End(xlUp).Row)
- For i = 14 To UBound(arr) - 3 Step 17
- For j = 1 To UBound(arr, 2)
- If CStr(arr(i, j)) = CStr(arr(i + 1, j)) And CStr(arr(i, j)) = CStr(arr(i + 2, j)) Then
- d("表" & Sht.Name & "-" & Sht.Cells(i + 3, j + 6).Address(0, 0)) = "表" & Sht.Name & "-" & Sht.Cells(i + 3, j + 6).Address(0, 0)
- End If
- Next j
- Next i
- Erase arr
- Next
- ThisWorkbook.Sheets("1").Cells(1, 1).Resize(d.Count, 1) = Application.Transpose(d.keys)
- End Sub
复制代码
条件提取.rar
(27.64 KB, 下载次数: 2)
|
|