分享

Excel VBA 8.51按需生成条形码 其实Excel就可以实现

 Excel和VBA 2021-12-24

为了条形码去下载付费软件?不值得


点击上方“Excel和VBA”,选择“置顶公众号”

致力于原创分享Excel的相关知识,源码,源文件打包提供

一起学习,一起进步~~


日常工作中,我们经常会使用到条形码,尤其是在仓库的库存管理,物品的SKU的保存等方面,都会使用到条形码

但是我们会使用到条形码,但是不等于我们能够生成条形码,现在你百度下,会告诉你有很多的付费软件可以生成条形码

那么获得条形码,真的有那么难吗?

其实不然,我们日常工作中常用的Excel其实就可以帮助我们生成条形码

场景说明

这是我们今天简单模拟的数据源,我们一起来看看在Excel当中有几种方法可以实现条形码的创建

不要误会,VBA也是可以实现的,但是为了让大家能够学到更多的方法,所以今天也会将一些非VBA的方法

方法一

利用现成的字体来实现

这个字体就是从网络下载相关的字体,然后就可以直接更换成为条形码了

这个方法操作起来也是比较方便,可以免去各种设置的麻烦。我们先来看看效果

这样是不是简单了很多,什么鬼都不用设置,就成功的实现了条形码的生成。想要这个字体的小伙伴,可以后台私信回复"zi体",即可获得

优点:使用方便,操作简单

缺点:暂时没想到,不能设置条码底部的数字不知道算不算

方法二

Excel自带控件实现

优点:好像没有,反正我感觉用起来也不太方便

缺点:没有优点就算是缺点吧

方法三

vba的方法,一起来看看

代码区

Sub 一维码()
    Application.ScreenUpdating = False
    On Error Resume Next
    Dim rng As Range, rngData As Range, sht As Worksheet
    Set rngData = Application.InputBox("请选择需要生成条形码的区域 ", , , , , Type:=8)
    Set sht = rngData.Parent
    Set rngData = Intersect(rngData, sht.UsedRange)
    If rngData Is Nothing Or Err Then
        MsgBox "你未选择有效的区域,程序退出 "
        Exit Sub
    End If
    sht.Select
    For Each shp In sht.Shapes
        If InStr(shp.Name, "BarCodeCtrl") Then shp.Delete
    Next
    For Each rng In rngData
        With sht.OLEObjects.Add(classtype:="BARCODE.BarCodeCtrl.1")
             .Object.Style = 6
             .LinkedCell = rng.Address
             .Height = rng.Height - 2
             .Width = rng.Width - 2
             .Left = rng.Left
             .Top = rng.Top
         End With
    Next
    Application.ScreenUpdating = True
    End Sub

直接来看看效果

同样也是快速的生成了条形码,并且VBA代码的亮点就是,条形码的下面还有数字!

这样的效果比单纯一个条码要好很多,有没有!

今天的代码,属于拿来即用的范畴,大家直接COPY就好。

需要方法一字体的,后台直接回复“zi体

好了,明晚21:00,准时再见!

因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。

个人的小群,也不会很热闹,有问题抛下问题,大家互相帮助,不要发广告哦~

因为近期加群人员太杂,需要入群的小伙伴可以先加我微信,备注“加群”我会拉进群,不备注,不加的哦~~

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多