|
- Sub Test()
- Dim shSource As Worksheet, shResult As Worksheet
- Dim rgStart As Range, rgArea As Range, lngCurRowID As Long
- Dim lngResize_Row As Long, lngResize_Col As Long
- Dim lngOffSet_Row As Long, lngOffSet_Col As Long
- Dim lngCountMax As Long, lngGetOffSet As Long, lngTitleStep As String
-
- Set shSource = Sheets("Sheet1") '原数据表
- Set shResult = Sheets("Sheet2") '结果数据表
-
- lngResize_Row = 6 '判断区域的行数
- lngResize_Col = 6 '判断区域的列数
- lngCountMax = 1 '判断条件
- lngTitleStep = 2 '结果填充时,顶部的空行数
- lngCurRowID = shResult.Range("C" & Rows.Count).End(xlUp).Row + lngTitleStep '起始填充的行号
- lngGetOffSet = 102 '提取区域,与判断区域的 列 偏移数
-
- Set rgStart = shSource.Range("A18") '起始判断区域
- Application.ScreenUpdating = False
- Application.Cursor = xlWait
- For lngOffSet_Col = 0 To 99 '列偏移量,
- For lngOffSet_Row = 0 To 142 '行偏移量
- '判断区域=起始区域进行行、列偏移后,再扩展到相应的行、列数
- Set rgArea = rgStart.Offset(lngOffSet_Row, lngOffSet_Col).Resize(lngResize_Row, lngResize_Col)
- If Application.WorksheetFunction.CountA(rgArea) <= lngCountMax Then
- rgArea.Offset(0, lngGetOffSet).Copy shResult.Range("C" & lngCurRowID)
- '填充行号=起始填充行+判断区域的行数+顶部空行数
- lngCurRowID = lngCurRowID + lngResize_Row + lngTitleStep
- End If
- Next
- Next
- Application.ScreenUpdating = True
- Application.Cursor = xlDefault
- MsgBox "OK"
-
- Beep
- End Sub
复制代码 |
评分
-
2
查看全部评分
-
|