You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中基于多个含值单元格生成单个二维码?

在Excel中基于多个单元格生成单个二维码

你可以通过以下VBA代码实现基于多单元格内容生成单个二维码,代码已调整为支持合并选中单元格的内容:

Sub 生成二维码()
' 更新于2018/8/22
    Dim 源单元格区域 As Range
    Dim 放置位置 As Range
    Dim 条码控件 As OLEObject
    Dim 单个单元格 As Range
    Dim 二维码内容 As String
    
    On Error Resume Next
    Set 源单元格区域 = Application.InputBox("请选择要生成二维码的多个单元格", "生成二维码", , , , , , 8)
    If 源单元格区域 Is Nothing Then Exit Sub
    
    Set 放置位置 = Application.InputBox("请选择二维码的放置单元格", "生成二维码", , , , , , 8)
    If 放置位置 Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    
    ' 合并选中单元格内容,用换行分隔,可根据需求替换为逗号、空格等分隔符
    二维码内容 = ""
    For Each 单个单元格 In 源单元格区域
        二维码内容 = 二维码内容 & 单个单元格.Text & vbCrLf
    Next
    
    ' 添加条码控件并设置为二维码格式
    Set 条码控件 = ActiveSheet.OLEObjects.Add("BARCODE.BarCodeCtrl.1")
    条码控件.Object.Style = 11 ' Style=11对应二维码类型
    条码控件.Object.Value = 二维码内容
    
    ' 复制二维码到目标位置并删除临时控件
    ActiveSheet.Shapes.Item(条码控件.Name).Copy
    ActiveSheet.Paste 放置位置
    条码控件.Delete
    
    Application.ScreenUpdating = True
End Sub

使用步骤:

  • 打开目标Excel文件,按下Alt + F11打开VBA编辑器
  • 右键点击当前工作簿,选择「插入」→「模块」
  • 将上述代码粘贴到模块窗口中
  • 返回Excel界面,通过「开发工具」→「宏」选择「生成二维码」执行,或直接在VBA编辑器中按F5运行
  • 按提示依次选择包含内容的多个单元格、二维码的放置位置即可

注意:此代码依赖Excel的BARCODE控件,若控件未注册,需先完成组件注册才能正常运行。

内容的提问来源于stack exchange,提问作者Denis Cristian Harapcea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:40:28