excel怎样自动分列打印

一个表格,是用别的软件导出来的,只有一列
我现在需要打印它,这样打印太费纸张了,我想这样打印:
每页打印40行5列,要求每一页的内容是连续的(就是打印后下一列是接上一列内容的)

注意,先做好备份
在工作表名称上 右键,查看代码,将下面的代码复制入其中,按代码里面的说明,改变两个变量的值,按F5运行一次,返回sheet表就好了
------------
Sub 分行()
Dim r&: r = 20 '每列的行数
Dim c As Range: Set c = Range("A1:A4000") '原数据区域
'使用前改变上面2个变量

Dim i&, n%
If c.Columns.Count > 1 Then MsgBox "第二个参数有误!"
If c.Rows.Count Mod r Then n = Int(c.Rows.Count / r) + 1 Else n = Int(c.Rows.Count / r)
If n > 255 Then
If MsgBox("列数将超过工作表限制!仍要进行?", vbOKCancel) = vbCancel Then Exit Sub
End If
For i = 2 To n
c.Cells((i - 1) * r + 1, 1).Resize(r, 1).Copy Cells(1, i).Resize(r, 1)
Next
MsgBox "ok!"
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-05-06
我的博客上有个软件,可以实现你的要求,不过你的电脑要安装OFFICE的ACCESS,将EXCEL导入到ACCESS,再用那个软件载入打印。有什么问题发百度信息给我。
第2个回答  2012-04-19
我也遇到这个问题。我是复制到word里面,使用word的分栏功能,分成你想要的列数,然后打印。
第3个回答  2008-05-05
好像没有好办法吧!
我先说个折中的办法 ,在B1中输入
=A41,C1中输入=A81,这样把数据引过来,再打印!
希望其它高手的更好的办法!本回答被网友采纳
第4个回答  2008-05-05
用VBA才可以的........

到40行时就自动转到B列,,,以次类推
相似回答