|
本帖最后由 乐乐2006201506 于 2016-5-28 21:26 编辑
Sub 宏1()
Range("D3:F65").Cut
Range("A66").Select
ActiveSheet.Paste
Range("G3:I65").Cut
Range("A129").Select
ActiveSheet.Paste
Range("J3:L65").Cut
Range("A192").Select
ActiveSheet.Paste
Range("B3").Select
End Sub
Sub 宏2()
Range("A66:C254").Cut
Range("D3").Select
ActiveSheet.Paste
Range("D66:F191").Cut
Range("G3").Select
ActiveSheet.Paste
Range("G66:I128").Cut
Range("J3").Select
ActiveSheet.Paste
Range("B3").Select
End Sub
本帖最后由 老司机带带我 于 2016-5-28 21:43 编辑
纯修改代码,没有考虑其他: - Sub 宏1修改()
- Dim i%, j%
- For i = 4 To 6 '从第4列开始,循环三次剪辑,可设置循环次数
- j = (i - 4) * 2 'i的值为4,5,6,但实际的列为4,7,10,即i的基础上加0,2,4,即j的值
- Range(Cells(3, i + j), Cells(65, i + j + 2)).Cut
- Cells(3 + (i - 3) * 63, 1).Select '63即为实际剪切的行数
- ActiveSheet.Paste
- Next
- End Sub
- Sub 宏2修改()
- Dim i%, j%
- For i = 1 To 3 '同样为循环三次,但这个值需要实际按行数进行计算,本例只是简化代码,所以没考虑自动计算,即总行数-2除以63,这些都是需要自己设置的
- Range(Cells(i * 63 + 3, 1), Cells((i + 1) * 63 + 2, 3)).Cut
- Cells(3, i * 3 + 1).Select
- ActiveSheet.Paste
- Next
- End Sub
复制代码
|
|