最近見到蠻多存在合并單元格的數(shù)據(jù)轉(zhuǎn)置需求的。
源數(shù)據(jù)
源數(shù)據(jù)
結(jié)果
結(jié)果
處理方法:合并單元格中存在數(shù)據(jù)(非空)的行號,用變量標(biāo)記递沪,然后引用。
Sub CAT()
Dim arr, r, brr(1 To 50000, 1 To 5)
r = [a1024768].End(3).Row + 7 '//最后的行號综液,確定數(shù)據(jù)區(qū)域
arr = Range("a5:f" & r) '//數(shù)據(jù)源
For i = 1 To UBound(arr) Step 8 '//數(shù)據(jù)還有有規(guī)律的款慨,8行一個合并單元格
t = i '//合并單元格中非空行的行號(在數(shù)組arr中的行號)
For m = 5 To 6 '//遍歷耗材,其在數(shù)組的第5列和第6列
For n = 0 To 7 '//每個素材最多8個
If arr(i + n, m) <> "" Then '//有數(shù)據(jù)的耗材就提取
k = k + 1 '//計數(shù)
brr(k, 1) = arr(t, 1) '//引用合并單元格數(shù)據(jù)
brr(k, 2) = arr(t, 2)
brr(k, 3) = arr(t, 3)
brr(k, 4) = arr(t, 4)
brr(k, 5) = arr(i + n, m) '//耗材
End If
Next
Next
Next
[h5:L55555] = ""
[h5].Resize(k, 5) = brr '//輸出轉(zhuǎn)置數(shù)據(jù)
End Sub
示例文件下載:
鏈接: http://pan.baidu.com/s/1i4AtZKx 密碼: xwns