在生产、管理等实际场景中,我们经常需要在单据上添加二维码 / 条形码,用扫码枪、PDA 扫码录入,能大幅提高数据录入效率,避免手动输入出错。
今天就给大家分享 Myexcel 中,两种在单据上生成可打印二维码(含条形码)的方法,步骤简单、直接能用,还附上完整编码类型表,按需选用即可。
一、方法一:用表间取数公式(最简洁,新手首选)
无需代码,通过自带杂项函数 “条码”,就能快速生成二维码 / 条形码,主表、明细表都适用。
1.先在模板中新增一个条码字段,设置为「图片类型」(主表、明细表均可设置);
2.新增一条表间取数公式,核心使用杂项函数「条码」,函数包含 3 个关键参数,用法如下:
-
参数 1(内容):需要生成二维码 / 条形码的核心数据(比如单据单号、产品编号);
-
参数 2(类型):编码类型代号(常用:6 = 条形码,34 = 二维码);
-
参数 3(大小):缩放因子(1 = 原始大小,小于 1 缩小,大于 1 放大,支持小数,如 1.2=1.2 倍);
3.本案实操:以「单据单号」为核心数据,生成二维码,并设置 3 倍放大(适配打印需求);
4.完成设置后,填写单据时,系统会自动生成对应的二维码,可直接打印;
5.生成条形码:操作完全一致,只需将「参数 2」改为对应条形码代号(常用 6)即可。
二、方法二:用 VBA 接口代码生成(更灵活,按需定制)
适合需要自定义二维码显示位置、批量生成,或结合其他 VBA 操作的场景,灵活度更高。
使用「NewBarCode」接口生成二维码 / 条形码,接口格式及参数如下:
NewBarCode 参数1,参数2,参数3,参数4,参数5
-
参数 1:需要生成二维码 / 条形码的数据(如单号、编号);
-
参数 2:编码类型代号(同方法一,常用 6 = 条形码、34 = 二维码);
-
-
-
参数 5:缩放因子(用法同方法一,1 = 原始大小,支持小数);
⚠️ 注意:二维码 / 条形码的实际显示大小,除了参数 5,还会受单元格本身大小影响。
Sub 生成条码() Dim obj As Object Set obj = Application.COMAddIns.Item("prjAddin.Office_Addin").Object obj.NewBarCode "1234567890", 34, 6, 3, 3 ' 核心代码 Set obj = NothingEnd Sub
点击绑定的按钮后,会在「第 6 行、第 3 列」的单元格,生成数据为 “1234567890” 的二维码,缩放比例为 3 倍(适配打印)。
需求:用 F2 单元格的「单号」生成二维码,显示在 I1 单元格中,步骤如下:
先将单号所在单元格(F2)定义为名称 “单号” (方便代码调用,避免出错);
打开「开发工具」→「Visual Basic」窗口,输入对应 VBA 代码(替换基础示例中的核心数据);
保存代码后,回到模板界面,插入按钮,右键选择「指定宏」,绑定刚编写的 “生成条码” 宏,点击按钮即可生成;
VBA 方式的优势的是灵活度高 —— 不一定需要绑定按钮,在 Myexcel 中所有支持 VBA 的场景(如表单加载、单据保存后),都能触发二维码生成功能。
三、完整编码类型表(常用 + 全部类型)
很多朋友以为只有 6(条形码)、34(二维码)两种类型,其实 Myexcel 支持多种编码,按需替换「参数 2」即可,以下是完整编码类型及对应代号(常用类型标红):
四、小结
-
新手 / 简单需求:优先用「表间取数公式」,无需代码,几步就能搞定;
-
复杂 / 定制需求:用「VBA 接口代码」,可自定义显示位置、批量生成;
掌握这两种方法,就能在 Myexcel 的各类单据(生产单、出库单、收费单等)中添加可打印二维码 / 条形码,大幅提升录入效率,避免手动出错。