|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Sub 按指定期序提取相关数据()
- Dim ar, br, i&, j&, k&, x&, y&, h1, h2, f2, c2
- f2 = Cells(2, "f"): h2 = Cells(2, "h"): c2 = Cells(2, "c")
- If f2 = "" And h2 <> "" Then MsgBox "f2:h2指定期序有误!": Exit Sub
- Application.ScreenUpdating = False
- Workbooks.Open (ThisWorkbook.Path & "\00 总表.xlsm")
- Windows("00 总表.xlsm").Activate
- ar = Range("e5:j" & Cells(2, "h"))
- For k = UBound(ar) To 1 Step -1
- If ar(k, 1) <> "" Then Exit For
- Next
- x = UBound(ar, 2): ReDim br(1 To k, 1 To x)
- For i = 1 To k
- If f2 = "" And h2 = "" Then
- If ar(i, 4) = c2 Then
- y = y + 1: For j = 1 To x: br(y, j) = ar(i, j): Next
- End If
- ElseIf f2 <> "" And h2 = "" Then
- If ar(i, 4) = f2 Then
- y = y + 1: For j = 1 To x: br(y, j) = ar(i, j): Next
- End If
- ElseIf f2 <> "" And h2 <> "" Then
- If ar(i, 4) >= f2 And ar(i, 4) <= h2 Then
- y = y + 1: For j = 1 To x: br(y, j) = ar(i, j): Next
- End If
- End If
- Next
- Windows("按指定期序提取相关数据.xlsm").Activate
- Worksheets("总表").Select
- h1 = Cells(1, "h"): [e5].Resize(h1 - 4, UBound(br, 2)).ClearContents
- h1 = WorksheetFunction.Min(UBound(br), Cells(1, "h")): [e5].Resize(h1 - 4, UBound(br, 2)) = br
- Application.ScreenUpdating = True
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|