第1个回答 2011-02-11
用这个办法试一下
1、增加一个辅助列,比如A列
2、在A列按1-15000填入序列,也就是行数
3、在15001行和15002行A列输入0
4、在15003行A列输入=IF(A15002=A15001,A15002+30.5,A15002)
在15004行A列输入=IF(A15003=A15002,A15003+30,A15003)
5、把15004行公式向下填充到16000行,形成下面的序列
0
0
30.5
30.5
60.5
60.5
90.5
90.5
120.5
6、选中形成的序列,然后选择性粘贴(只粘贴数据)到原来的位置,替换掉原来的公式
7、选中你表格的所有行和列,按A列升序排序
8、调整行高,让每页有32行
第2个回答 2011-02-11
Sub xabc()
For j = 0 To 499
i = 500 - j
Rows(i * 30 + 1).Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
'Rows((i * 30 + 2) & ":" & (i * 30 - 29)).Select
'Selection.RowHeight = 20
Next
End Sub
还是用VBA来实现吧,这个插入空行的动作必须从后面往前插。一般行高是不需要调整的,插入的行高与原来的相同,如果需要调整,全表选取都调整成一样高就行了。如果需要单行调整,可以修改注释的那两行代码来调整。
=====================
二楼的那个宏不能用,从前面插空行,你的表就乱套了。本回答被提问者采纳
第3个回答 2011-02-11
500个表全部选择后 第一个表里 添加2行 然后修改行距看看
应该可以的
前提是 表全选的情况下(选择第一个表 然后按住shift 选择最后一个表)
不好意思我理解错了 宏里复制下面的代码 然后运行看看
Sub Macro1()
For i = 0 To 499
Rows((i * 30 + 1) & ":" & (i * 30 + 1)).Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Rows((i * 30 + 1) & ":" & (i * 30 + 32)).Select
Selection.RowHeight = 15
Next
End Sub
数据15是 行距 这个得你自己算算
第4个回答 2011-02-12
按Alt+F11打开VBA编辑器,按Ctrl+R打开工程资源管理器(如已打开则略过),右键单击当前工作簿,选择“插入(N)”、“模块(M)”,然后在右侧代码编辑区里把下面的代码贴进去,按F5执行即可
Sub InsertTitle()
Line = 4
While Cells(Line, 1) <> ""
Range(Rows(1), Rows(2)).Copy
Rows(Line).Insert xlDown
Line = Line + 3
Wend
End Sub
授人以鱼,不如授人以渔