|
- Sub 提取数据()
- '最后一行行号,源数组,结果数组,循环用变量
- Dim lLastrow&, arr1, arr(), i&, j&
-
- '取A列最后一行数据所在行号
- lLastrow = Cells(Rows.Count, 1).End(xlUp).Row
-
- '读取数据
- arr1 = Range("a1:a" & lLastrow)
-
- '结果数组扩维,用的动态数组,因为是6行一间隔,所以最后行加1,再整除7,得到个数
- ReDim arr(1 To (lLastrow + 1) \ 7, 1 To 1)
-
- '第6行开始循环,步长为7
- For i = 6 To lLastrow Step 7
- '个数,指标结果数组一维
- j = j + 1
- '取出每组最后一个数字存入结果数组
- arr(j, 1) = arr1(i, 1)
- Next
-
- '判断是否有提取到数据,避免出错
- If j > 0 Then
- Application.ScreenUpdating = False
-
- '先清除D列原有数据
- Columns("d").ClearContents
-
- '写回单元格
- Range("d1").Resize(j).Value = arr
-
- Application.ScreenUpdating = True
- MsgBox "提取完成"
- End If
- End Sub
复制代码 |
|