Excel求VBA宏程序,将m行每n行写入新的列

2024-11-03 05:30:03
推荐回答(2个)
回答1:

其实在VBA中这个就是一个循环加复制粘贴就完成了。
第一步:按Alt+F11打开VBE编辑器
第二步:单击菜单栏 插入--模块
第三步:在模块中建立一个Sub过程,代码如下:
Sub copydate()
Dim i%, y%
y = 0
For i = 1 to 100 Step 10
Sheet1.Rows(i & ":" & i+9).Copy Sheets2.Cells(1,y+1)
Next i
End Sub


第四步:就按F5执行这个过程就搞定了
因为没有电脑,就只有手写,没有测试,应该是没有问题的。
第二行代码就是创建两个变量
第三行就是给变量y赋值为0
第四行代码就是创建For循环语句,每次步长为10
第五行代码就是将sheet表每10行数据复制粘贴到sheet2表中
第六行就是退出for循环语句
第七行就是退出sub过程
望采纳,谢谢!

回答2:

用VBA代码可以做
Dim i As Integer
Dim r As Integer
Dim c As Integer
Dim wt1 As Worksheet
Dim wt2 As Worksheet
Set wt1 = Sheets("sheet1")
Set wt2 = Sheets("sheet2")
For i = 1 To 100
c = Int(i / 10)
r = i - c * 10
c = c + 1
wt2.Cells(r, c) = wt1.Cells(i)
Next i
其实用公式也是可以做的,你在表2的A1里输入“=INDEX(Sheet1!$A:$A,ROW(A1)+COLUMN(A1)*10-10,1)”,然后填充表2 的100个格子就行