|
本帖最后由 superle! 于 2014-12-26 09:27 编辑
J2:J为数据源,为了让数据源的数值好认,用数值顺序看明白些,J3002以下的数值会随时增加的,所以以J列最下面有值的开始取。
用VBA或是用宏来实现表2表格里BJ301:CS的填充。隔1到隔3的值已经模拟出来了。
比如表2BJ324的值就是表1J3003的空值,表2BJ324往上取值从无隔到隔10都是没有隔的取值。
往右是按无隔到隔10的取值。比如表2的324行,是从J3001:J3000:J2999:依次取值填充的。这是无隔
隔1,表2的360行,是从J3000:J2998:J2996依次取值填充的。这是隔1
可以参考批注里对应的批注来查看所填充的排序。
- Sub Macro1()
- Dim arr, brr, i&
- Sheet2.Activate
- arr = Sheet1.Range("j2:j" & Sheet1.Range("j65536").End(xlUp).Row + 1)
- h = UBound(arr)
- For i = 301 To Cells(Rows.Count, "bi").End(xlUp).Row
- If Cells(i, "bi") <> "" Then
- s = s + 1
- brr = Cells(i, "bj").Resize(24, 36)
- n = 0
- For j = UBound(brr) To 1 Step -1
- n = n + 1
- For k = 1 To UBound(brr, 2)
- brr(j, k) = arr(h - n + 1 - (k - 1) * s, 1)
- Next
- Next
- Cells(i, "bj").Resize(24, 36) = brr
- End If
- Next
- End Sub
复制代码
|
|