求excel中VBA代码,将A列数据每四个一组复制到B C D E列

注意:不要excel公式,要VBA代码!!!用公式解决我会做... 注意:不要excel公式,要VBA代码!!!用公式解决我会做 展开
 我来答
真真真白丁
2014-09-25 · TA获得超过8523个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1748万
展开全部

代码如下:

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

 

百度网友e836083
推荐于2016-10-26 · TA获得超过3151个赞
知道大有可为答主
回答量:2481
采纳率:66%
帮助的人:2045万
展开全部

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值应该怎么改?
追答
这描述太简略了点吧?从第几行开始,那些行不复制??
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdxbr
2014-09-25 · TA获得超过1053个赞
知道小有建树答主
回答量:957
采纳率:44%
帮助的人:309万
展开全部
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列
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式