乐于分享
好东西不私藏

原来Excel可以批量生成条形图,太好用了

原来Excel可以批量生成条形图,太好用了

       之前有一期视频给大家分享了怎样用excel表批量生成条形码,其主要功能是通过名为“批量生成条形码”的按钮将对应表格内的编码号生成条形码,如下图

很多网友私信留言想要该文件,但是鉴于该文件是含有VBA代码的宏文件,因此无法分享,这里我把相应的代码贴出来,大家可以粘贴使用,文中我会对代码进行详细的讲解,方便大家进行学习和修改使用。

一、在“批量生成条形码”的按钮下的代码如下:

Private Sub CommandButton1_Click()

Dim I As Integer

For I = 2 To 100

If Cells(I, “A”) <> “” Then

With ActiveSheet.OLEObjects.Add(ClassType:=”BARCODE.BarCodeCtrl.1″) ‘添加条码控件

.Name = I’条码命名

.Object.Style = 7’“7”代表条码样式为“code 128”

.Left = Cells(I, “B”).Left + 4’条码左侧距离单元格左侧为4磅

.Top = Cells(I, “B”).Top + 4’条码上侧距离单元格上侧为4磅

.Height = 30’条码高度为30磅

.Width = 150’条码宽度为150磅

.Object.Value = Cells(I, “A”)’对条码赋值

End With

Else

I = 100

End If

Next I

MsgBox “条形码生成完毕!”

End Sub

二、在“批量删除条形码”的按钮下的代码如下:

Private Sub CommandButton2_Click()

Dim I As Integer

Dim 条形码 As Shape’定义条码作为图形控件

For I = 2 To 100

If Cells(I, “A”) <> “” Then

With Sheet2

For Each 条形码 In .Shapes

If 条形码.Name = BarCodeCtrl & I Then 条形码.Delete

Next 条形码

End With

Else

I = 100

End If

Next I

MsgBox “条形码删除完毕!”

End Sub

三、代码解读

1、“批量生成条形码”按钮

如上图,通过 “生成” 按钮,自动遍历 Excel 第 2 至 100 行,若 A 列存在内容(如编码、数字),则在对应 B 列生成标准 Code128 格式的条形码,条码大小(宽 150 磅、高 30 磅)和位置固定对齐,生成完成后弹出提示。

2、“批量删除条形码”按钮

如上图,通过 “删除” 按钮,同步遍历第 2 至 100 行,精准识别并删除之前生成的对应条形码,清空后弹出提示。

四、总结

这套 Excel VBA 代码堪称条码管理 “效率神器”!不管是仓库整理物料编码、电商统计商品条码,还是行政归档各类编号,都能帮你省去逐个制作、删除条码的繁琐操作 ——A 列填好编码,一键生成标准 Code128 条码,位置整齐、格式规范;后续需要更新或清空时,一键就能批量删除,全程无需手动干预。

使用时记得保存为.xlsm 或.xls 格式,确保Excel 已安装条码控件,2-100 行的适配范围也能根据数据量灵活调整。如果需要切换条码格式(如 EAN-13、Code39)、调整条码大小,或是想让生成的条码自动居中对齐,都可以随时留言,轻松优化升级~ 觉得实用的话,不妨分享给需要批量处理条码的同事,一起提升工作效率呀!

本文首发于今日头条,授权本公众号发布。