|
发表于 2015-5-30 17:00
|
显示全部楼层
本楼为最佳答案
本帖最后由 as0810114 于 2015-5-30 17:02 编辑
- Sub 提取()
- Application.DisplayAlerts = False
- Dim arr, brr(1 To 100000, 1 To 10)
- Dim irow, icol, k
- arr = Sheets("数据表").Range("a1").CurrentRegion
- For Each Sheet In Sheets
- If Sheet.Name = Sheets("提取值").Range("B1") Then Sheet.Delete
- Next
- Sheets.Add after:=Sheets(Sheets.Count)
- Sheets(Sheets.Count).Name = Sheets("提取值").Range("B1")
- Sheets("数据表").Range("a1:j1").Copy Sheets(Sheets.Count).Range("a1")
- For irow = 2 To UBound(arr)
- If arr(irow, 2) - Sheets("提取值").Range("A1") = 0 Then
- k = k + 1
- For icol = 1 To UBound(arr, 2)
- brr(k, icol) = arr(irow, icol)
- Next
- End If
- Next
- Sheets(Sheets.Count).Range("A2").Resize(irow, 10) = brr
- Application.DisplayAlerts = True
- End Sub
复制代码 |
|