excel中有一组n行3列的数据,数据每210行3列一组。如何快速将数据分列。

将左边图片里的数据分成右边的那样,每210行3列一组。... 将左边图片里的数据分成右边的那样,每210行3列一组。 展开
 我来答
百度网友2264614
2017-02-17 · TA获得超过196个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:196万
展开全部
Sub ccol()
    Application.ScreenUpdating = False
    s = Sheet1.UsedRange.Rows.Count
    t = Int(s / 200)
    For i = 1 To t
        Range(Cells(i * 200 + 1, 1), Cells(i * 200 + 200, 3)).Cut
        Cells(1, 4 * i + 1).Select
        ActiveSheet.Paste
    Next
    Application.ScreenUpdating = True
End Sub

以上代码放在VBA sheet1中运行即可

追问
能解释一下吗,因为数据有时是随着仪器测试结果而出现波动。
如果我要是改动200行这个数据,应该怎么改代码。比如我要是想把数据改成150行3列为一组。
追答
Sub ccol()
    '每x行一组,直接把有200的地方改为x就行了
    '一组y列,要修改两个地方:
    'Range(Cells(i * 200 + 1, 1), Cells(i * 200 + 200, y)).Cut
    'Cells(1, (y+1) * i + 1).Select    y+1而不是y是因为各组要空一行
    
    Application.ScreenUpdating = False '关闭屏幕更新,不然屏幕闪动厉害,钛合金忽略~
    s = Sheet1.UsedRange.Rows.Count 's是数据总行数
    t = Int(s / 200)    't是要另分的组数
    For i = 1 To t
        Range(Cells(i * 200 + 1, 1), Cells(i * 200 + 200, 3)).Cut '对除了前200的每200行数据剪切
        Cells(1, 4 * i + 1).Select '选中要粘贴的单元格。第i组数据粘贴到 第4*i+1列,如:第1组数据粘贴到第5列,第2组第9列
        ActiveSheet.Paste '粘贴
    Next
    Application.ScreenUpdating = True '恢复屏幕刷新
End Sub
xuanxuan163com
2017-02-17 · TA获得超过2768个赞
知道大有可为答主
回答量:1709
采纳率:75%
帮助的人:1591万
展开全部
Sub fenzu()
    Dim i As Integer
    Dim c As Integer
    c = 0
    Application.ScreenUpdating = False
    For i = 212 To [A65536].End(xlUp).Row Step 210
        c = c + 1
        Range("A" & i & ":C" & i + 209).Cut
        Cells(2, c * 4 + 1).Select
        ActiveSheet.Paste
    Next
    Application.ScreenUpdating = True
End Sub
追问
要是,我想150行为一组的话,要怎么改代码啊?急求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式