求excel中VBA代码,将A列数据每四个一组复制到B C D E列
答案:3 悬赏:20 手机版
解决时间 2021-11-17 17:09
- 提问者网友:孤山下
- 2021-11-17 00:40
求excel中VBA代码,将A列数据每四个一组复制到B C D E列
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-11-17 00:48
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值应该怎么改?追答这描述太简略了点吧?从第几行开始,那些行不复制??
全部回答
- 1楼网友:零点过十分
- 2021-11-17 02:43
代码如下:
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
- 2楼网友:患得患失的劫
- 2021-11-17 02:03
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列
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列
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯