无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 244|回复: 27
打印 上一主题 下一主题

[求助] excel打印格式设置求助

[复制链接]
跳转到指定楼层
1#
发表于 8 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
每月都要打印不同的excel工作簿,工作簿格式相同,只是单元格数据不同,每次手动设置工作表格式,都是重复的劳动,怎么操作一下,工作簿自动调整行高列宽等动作,要启用宏吗,我不会,知道这里高手多,给指点一下,谢谢
2#
 楼主| 发表于 8 小时前 | 只看该作者
怎么启用宏,我也不会,高手给说一下。
回复

使用道具 举报

3#
发表于 7 小时前 | 只看该作者
先弄好格式,给填数据的。
回复

使用道具 举报

4#
 楼主| 发表于 7 小时前 | 只看该作者
有没有更好的办法,数据是从报表网站导下来的,只是调整格式,打印一下
回复

使用道具 举报

5#
发表于 7 小时前 | 只看该作者
让有模板的excel读取报表网站下载下来的数据,加载到打印的模板文件,可以借助PowerQuery等等,也可以简单的从文件导入然后做排版。
回复

使用道具 举报

6#
发表于 7 小时前 | 只看该作者
自已录制一个宏,另存为启用宏的工作簿xlsm
下次打开,按ALT+F8运行宏

点评

不会,给详细说一下呗,谢谢您  详情 回复 发表于 7 小时前
回复

使用道具 举报

7#
发表于 7 小时前 | 只看该作者
外部可用JS
_Sheet.Columns("C:D").ColumnWidth=20;        //列宽20
_Sheet.Columns("A:B").AutoFit;        //列宽自适应
_Sheet.Rows(5).RowHeight=30;        //行高30
_Sheet.Rows("6:7").AutoFit;        //行高自适应

点评

要设置的很多,比如:列宽有1.88,有7.5的,行高:不同的工作表也不一样,且行高也不同,有22的,有18的,还有字体,打印区域,打印标题等设置  详情 回复 发表于 7 小时前
回复

使用道具 举报

8#
 楼主| 发表于 7 小时前 | 只看该作者
ohte 发表于 2026-2-4 12:09
自已录制一个宏,另存为启用宏的工作簿xlsm
下次打开,按ALT+F8运行宏

不会,给详细说一下呗,谢谢您

点评

宏录制使用方法 宏录制是自动化重复性任务的有效工具,特别适用于 Microsoft Excel 等支持 VBA(Visual Basic for Applications)的应用程序。以下是使用宏录制的详细步骤: 1.启用开发工具选项卡 打开 Exc  详情 回复 发表于 6 小时前
回复

使用道具 举报

9#
 楼主| 发表于 7 小时前 | 只看该作者
cutebe 发表于 2026-2-4 12:12
外部可用JS
_Sheet.Columns("C:D").ColumnWidth=20;        //列宽20
_Sheet.Columns("A:B").AutoFit;        //列宽自 ...

要设置的很多,比如:列宽有1.88,有7.5的,行高:不同的工作表也不一样,且行高也不同,有22的,有18的,还有字体,打印区域,打印标题等设置
回复

使用道具 举报

10#
发表于 6 小时前 | 只看该作者
本帖最后由 ohte 于 2026-2-4 12:48 编辑
zhoubin 发表于 2026-2-4 12:13
不会,给详细说一下呗,谢谢您

宏录制使用方法视频教程:bilibili.com/video/av947645936/

宏录制是自动化重复性任务的有效工具,特别适用于 Microsoft Excel 等支持 VBA(Visual Basic for Applications)的应用程序。以下是使用宏录制的详细步骤:

1.启用开发工具选项卡

打开 Excel,点击 文件 > 选项 > 自定义功能区。

在右侧的主选项卡列表中勾选 开发工具,然后点击 确定。

2.录制宏

在 开发工具 选项卡中,点击 录制宏。 输入宏的名称(首字符必须为字母,不能包含空格)。 可选择分配快捷键(建议使用 Ctrl + Shift 组合键以避免覆盖默认快捷键)。 选择保存位置(如“此工作簿”)。 可在说明框中输入宏的用途描述(可选)。

点击 确定 开始录制。

执行需要自动化的操作,例如格式化单元格、输入数据或应用公式。

完成后,点击 停止录制。

3.运行宏

使用快捷键:如果在录制时设置了快捷键,可直接按下运行。

使用宏对话框: 点击 开发工具 > 宏 或按 Alt + F8。 选择要运行的宏并点击 运行。



4.查看和编辑代码

按 Alt + F11 打开 VBA 编辑器。

在左侧项目窗口中找到对应模块,双击查看生成的代码。

可根据需要修改代码以实现更复杂的功能。

5.注意事项

宏无法撤销操作,建议在副本上测试运行。

确保启用宏安全性设置,并仅运行来自可信来源的宏。

通过以上步骤,您可以轻松录制和管理宏,从而提高工作效率。

点评

助人为乐  发表于 2 小时前
感谢,我试一下,谢谢  详情 回复 发表于 5 小时前

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

11#
发表于 6 小时前 | 只看该作者
如果打印的格式都是固定的。那最简单的就是做好这一版然后锁定格式,最后把下载数据内容复制仅数值进去就可以了。
回复

使用道具 举报

12#
发表于 6 小时前 | 只看该作者
纯路过~顶起来!
回复

使用道具 举报

13#
发表于 6 小时前 来自手机 | 只看该作者
你要是工作簿中含有多个表格,且表格的格式都是一样的,只是数据不同?这样的话,多简单,你自己要在工作簿中按crlt键,鼠标指向sheet1,向右拖移,就会生成一个格式相同的sheet2表格,清空其中数据,重新填写新的数据不就好了?
回复

使用道具 举报

14#
发表于 6 小时前 来自手机 | 只看该作者
写宏命令,也可以。有点烦。
回复

使用道具 举报

15#
发表于 6 小时前 来自手机 | 只看该作者
不是复制一个,改改数据不就好了,为什么一直要调整。
回复

使用道具 举报

16#
发表于 5 小时前 | 只看该作者
看看
回复

使用道具 举报

17#
 楼主| 发表于 5 小时前 | 只看该作者
ohte 发表于 2026-2-4 12:42
宏录制使用方法视频教程:bilibili.com/video/av947645936/

宏录制是自动化重复性任务的有效工具,特 ...

感谢,我试一下,谢谢
回复

使用道具 举报

18#
发表于 4 小时前 | 只看该作者
学习一下
回复

使用道具 举报

19#
 楼主| 发表于 3 小时前 | 只看该作者
录了一段宏,竟然用不了,提示:编译错误:参数不可选,大佬帮我看看哪里错了,谢谢

打印设置 - 宏.txt

131.86 KB, 下载次数: 3, 下载积分: 无忧币 -2

回复

使用道具 举报

20#
发表于 3 小时前 | 只看该作者
我觉得吧,干活的速度不能太快,毕竟总有干不完的活...


二○二六年二月四日
回复

使用道具 举报

21#
发表于 3 小时前 | 只看该作者
做一个固定的模板就好了。
回复

使用道具 举报

22#
发表于 3 小时前 | 只看该作者
zhoubin 发表于 2026-2-4 12:26
要设置的很多,比如:列宽有1.88,有7.5的,行高:不同的工作表也不一样,且行高也不同,有22的,有18的 ...
  1. //设置表格格式.JS
  2. var xlsFile=WScript.Arguments(0);        //拖入表格文件

  3. var XlsApp = new ActiveXObject("Excel.Application");        //创建表格程序对象
  4. var _Books = XlsApp.Workbooks.open(xlsFile);        //打开表格文件(簿)
  5. var _Sheet = _Books.Worksheets(1);        //工作表

  6. XlsApp.Visible = 1;        //显示表格程序

  7. _Sheet.Columns(3).ColumnWidth=1.88;        //列宽1.88
  8. _Sheet.Columns(4).ColumnWidth=7.5;        //列宽7.5
  9. _Sheet.Columns("A:B").AutoFit;        //列宽自适应
  10. _Sheet.Rows(1).RowHeight=22;        //行高22
  11. _Sheet.Rows(2).RowHeight=18;        //行高18
  12. _Sheet.Rows("5:8").AutoFit;        //行高自适应

  13. _Sheet.UsedRange.Font.Name='宋体';        //字体

  14. _Sheet.PageSetup.PrintTitleRows = "$1:$2";        //顶端标题行
  15. _Sheet.PageSetup.PrintTitleColumns = "$A:$E";        //左端标题列

  16. _Sheet.PageSetup.PrintArea = _Sheet.Range("A1:E35").Address;        //打印区域
复制代码

点评

好人  发表于 2 小时前

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-2-4 19:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表