excel中有一组n行3列的数据,数据每210行3列一组。如何快速将数据分列。
2个回答
展开全部
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
展开全部
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行为一组的话,要怎么改代码啊?急求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询