Excel经常被用作业务单据的制作,例如出库单,一个很现实的需求是表单自动编号,希望每次打印时编号会自动递增。

很幸运Excel能够支持自动编号的实现,网上的方法很多,但自己找了半天也没能成功实现。不过网上还是找到了些许灵感。

首先,要知道Excel提供了一个Workbook_BeforePrint事件,这个事件可以在打印或打印预览之前被执行,由于打印预览不是真正的打印,所以如果在
Workbook_BeforePrint这个事件中递增编号显然不对。怎么办呢?Excel有没有Workbook_AfterPrint事件呢?很遗憾没有。

要是能区分打印预览和打印就好了,然而区分几乎是不可能的,所以,我觉得将系统自带的打印和打印预览功能失效掉。

失效很简单,只要设置Cancel=true就可以了。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub

好,我已经将系统打印功能失效了,那么我就要自己编写打印的代码。不知道怎么写代码?没有关系,可以录制宏。

执行打印的命令是:ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

实现自动递增,
Range("B1").Select
ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 + 1

这里,我定义一个全局变量isPrint,在宏中设置,要打印时就设置成isPrint=true,这样我就可以事件中判断是否需要打印。

完整代码

Public isPrint As Boolean
Sub Macro1()
    isPrint = True
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
     Range("B1").Select
    ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 + 1
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    If isPrint = False Then Exit Sub
    Cancel = False
    isPrint = False
End Sub

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

Excel如何实现表单编号自动递增?相关推荐

  1. excel设置图片自动更新_智能Excel排班表,日期自动更新,三班排班一键统计,极简轻松...

    Hello大家好,我是帮帮.今天跟大家分享一张智能Excel排班表,日期自动更新,班次一键统计,极简轻松. 为了让大家能更稳定的下载模板,我们又开通了全新下载方式(见文章末尾),以便大家可以轻松获得免 ...

  2. 泛微html模板与表单分离,泛微eteams业务表单,自动生成数据和报表

    原标题:泛微eteams业务表单,自动生成数据和报表 eteams业务表单用数据重新定义协作,台帐记录.数据汇报.外部调研收集一并搞定.彻底告别传统纸笔数据收集方式,实时完成数据提交,自动生成数据和报 ...

  3. excel数据表单_新的改进的Excel数据输入表单

    excel数据表单 Many moons ago, Dave Peterson created a sample Excel worksheet data entry form and kindly ...

  4. 关于表单回车自动提交的讨论

    关于表单回车自动提交的讨论 在做超限查询时,为了用户操作的易用性,在用户输入车牌号码后,直接回车就进行查询的操作,而不是等用户用鼠标点击"查询"了才发送请求去查询.可能我们都以为很 ...

  5. Java POJO Bean 对象与 Web Form 表单的自动装配

    PS: 我一直在找寻为什么 struts2有自动将form字段和getter setter 自动 匹配的功能, 这篇文章解答了我的疑惑 深度剖析:Java POJO Bean 对象与 Web Form ...

  6. iOS表单input自动填充后背景色变为黄色

    ios表单Input自动填充背景色变为黄色 问题描述 解决方案 问题描述 在开发页面的时候发现,在iOS上input框自动填充后input的背景色变为黄色,再点击一下就可以恢复正常. 解决方案 设置自 ...

  7. html表单注册跳转页面,出现一个问题,点击“注册”按钮页面进入注册表单后自动跳转回登录页面...

    源自:4-5 单页面应用Demo2(2) 出现一个问题,点击"注册"按钮页面进入注册表单后自动跳转回登录页面 用户名: 密码: 登录 注册 用户名: 密码: 再次输入密码: 确定 ...

  8. from 表单回车自动提交

    自动提交的情况 1 表单只有单个输入框 2 type='submit  这里注意button默认type为submit 解决方法 1 添加一个隐藏的输入框 2 form添加属性 οnsubmit=&q ...

  9. Excel 模拟form表单提交

    前端模拟form表单 function batSubmit() {var temp_form = document.createElement("form");//temp_for ...

最新文章

  1. 剑指offer:面试题11. 旋转数组的最小数字
  2. 文巾解题 53. 最大子序和
  3. 2k 幻14_ROG幻14肝游戏有何体验?携RTX系列献上终极光追画面福利
  4. #每日一题:小计算器(模拟)
  5. .Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作
  6. Java构建工具, ZeroC ICE, word2vec
  7. linux下载python的地址_Linux下Python获取IP地址的代码
  8. C语言 后面,c语言++放在前面和后面的区别分析
  9. 西班牙税收现“4大变化” 侨胞当心“钱包”
  10. 【渝粤教育】国家开放大学2018年春季 0049-21T法律文书 参考试题
  11. SimpleFs文件系统初步四(Inode的创建过程)
  12. 易车网李斌:一个放牛娃的梦想(转载)
  13. ffmpeg视频转码压缩
  14. 创意电子学-小知识:晶体管
  15. el-select如何选择整个对象item
  16. string的insert的用法整理
  17. EduCoder-Web程序设计基础-web编程训练-html5-图像的运用-第2关:带插图的新媒体新闻网页的设计
  18. WebRTC源码-信令之六:SDP协议与协商流程
  19. win7找不到服务器的dns错误怎么办,Win7百科:Win7系统DNS错误怎么办
  20. 有哪些协同办公软件比较好用?

热门文章

  1. system.out.println 函数使用
  2. HTML5是XHTML的升级版本,支持HTML5新布局 酷盘Web版全新升级
  3. Python爬虫入门之淘宝JS逆向解析请求参数Sign加密(一)
  4. 项目打包和自动化部署
  5. Mac 如何安装EasyConnect(二):直接打开EasyConnect连接
  6. 如何使用 S3CMD 访问 COS 服务
  7. 苏州企业注册商标如何降低商标驳回率?
  8. 电视是否该退出历史的舞台
  9. css td 强制换行,CSS——之强制换行
  10. 极客时间 深入浅出gRPC 02 客户端调用