|
楼主 |
发表于 2021-8-3 13:11
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
总版主的方法很方便,可惜的是,研究了半天,没整明白。
方便注释一下代码吗?谢谢
Sub Test()
Dim nRow%, nL%, Arr(), Brr(), m%, k%
nRow = Range("a1").End(xlDown).Row
nL = Range("a1").End(xlToRight).Column + 1
Arr = Range("a1").Resize(nRow, nL).Value
ReDim Brr(nRow * ((nL - 2) \ 10 + 1), 1 To 12)
For i = 1 To 12
Brr(0, i) = Arr(1, i)
Next
For i = 2 To nRow
For j = 3 To nL
If j Mod 10 = 3 Then
If Brr(m, 1) = Arr(i, 1) Then Brr(m, 2) = 10
m = m + 1
Brr(m, 1) = Arr(i, 1)
k = 2
End If
If Arr(i, j) = "" Then Brr(m, 2) = k - 2: Exit For
k = k + 1
Brr(m, k) = Arr(i, j)
Next
Next
UsedRange.Offset(nRow).ClearContents
Range("a" & nRow + 3).Resize(m + 1, 12).Value = Brr
Range("a" & nRow + 3).Resize(m + 1, 12).Borders.LineStyle = 1
End Sub
|
|