求excel中VBA代码,将A列数据每四个一组复制到B C D E列
发布网友
发布时间:2022-05-21 21:37
我来回答
共3个回答
热心网友
时间:2023-11-13 09:15
代码如下:
Sub hx()
Dim rg As Range
For Each rg In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
Cells(Int((rg.Row - 1) / 4) + 1, ((rg.Row - 1) Mod 4) + 2) = rg
Next
End Sub
热心网友
时间:2023-11-13 09:15
Sub 四个一组复制()
Dim i As Integer
For i = 0 To [a65535].End(3).Row
Range("a" & i + 1).Copy Cells(i \ 4 + 1, i Mod 4 + 2)
Next
End Sub
追问代码有效,我不是从第一行开始的,某些行要求不复制过去,请问代码里的i值应该怎么改?
追答这描述太简略了点吧?从第几行开始,那些行不复制??
热心网友
时间:2023-11-13 09:16
Sub 复制()
n = Application.WorksheetFunction.CountA(Range("A:A"))
For i = 1 To Application.WorksheetFunction.RoundUp(n / 4, 0)
arr = Range("A" & (i - 1) * 4 + 1 & ":A" & (i - 1) * 4 + 4)
Range(Chr(65 + i) & "1:" & Chr(65 + i) & "4") = arr
Next
End Sub
最多只能复制到Z列