wps excel指定数据区域,二维码生成区域,批量生成单元格二维码VBA宏代码

1、ALT+F11;

选定要使用VBA宏的表格子页

2、粘贴代码

bash 复制代码
Sub 批量生成二维码()
    Dim srcRng As Range, tgtRng As Range
    Dim cell As Range
    Dim qrUrl As String
    
    ' 1. 弹出对话框,让用户手动选择需要生成二维码的【数据源区域】
    On Error Resume Next
    Set srcRng = Application.InputBox("第一步:请用鼠标框选需要生成二维码的【数据区域】:", "选择数据列", Type:=8)
    On Error GoTo 0
    
    ' 如果用户点击了取消,则退出程序
    If srcRng Is Nothing Then
        MsgBox "操作已取消!", vbInformation
        Exit Sub
    End If
    
    ' 2. 弹出对话框,让用户手动选择二维码生成的【目标区域】
    On Error Resume Next
    Set tgtRng = Application.InputBox("第二步:请用鼠标框选二维码要插入的【目标区域】(行数需与数据区域一致):", "选择目标列", Type:=8)
    On Error GoTo 0
    
    ' 如果用户点击了取消,则退出程序
    If tgtRng Is Nothing Then
        MsgBox "操作已取消!", vbInformation
        Exit Sub
    End If
    
    ' 3. 校验两个区域的大小是否一致
    If srcRng.Rows.Count <> tgtRng.Rows.Count Then
        MsgBox "错误:数据区域和目标区域的行数不一致,请重新运行!", vbCritical
        Exit Sub
    End If
    
    ' 4. 遍历数据源区域,生成二维码并插入到目标区域
    Dim i As Long
    For i = 1 To srcRng.Rows.Count
        ' 获取数据源单元格和目标单元格
        Dim dataCell As Range, targetCell As Range
        Set dataCell = srcRng.Cells(i, 1)
        Set targetCell = tgtRng.Cells(i, 1)
        
        ' 判断单元格是否为空
        If Trim(dataCell.Value) <> "" Then
            ' 拼接二维码生成API地址
            qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=" & dataCell.Value
            
            ' 在目标单元格插入二维码图片
            On Error Resume Next
            ActiveSheet.Pictures.Insert(qrUrl).Select
            On Error GoTo 0
            
            ' 设置图片的位置和大小,使其适配目标单元格
            With Selection
                .Top = targetCell.Top + 2      ' 留出2像素边距
                .Left = targetCell.Left + 2
                .ShapeRange.LockAspectRatio = msoTrue ' 锁定纵横比,防止变形
                .Height = 60                          ' 设置高度为60
            End With
        End If
    Next i
    
    MsgBox "二维码批量生成完成!", vbInformation
End Sub
相关推荐
yue20040312 小时前
WPS excel 顶部工具栏/导航栏字体和图标非常小 以及解决
wps
thethefighter13 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
fanstering1 天前
WPS绿化检索指南
wps
彦2 天前
Excel实用技巧笔记
excel
Logic1012 天前
Excel流程控制if函数,IF+数组轻松解决复杂判断问题
excel·流程控制·条件判断·if·excel函数·if函数·数组公式
跨境猫小妹2 天前
跨境电商订单导出CSV用Excel打开后订单号变成科学计数法如何定位并修复
excel·跨境电商·营销策略
weixin_440401693 天前
大数据技术-数据分析(EXcel+Python数据处理+SQL)
大数据·python·数据分析·excel
jaysee-sjc3 天前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
ms365copilot4 天前
Copilot 代理开始进入Word、Excel、PowerPoint,不再只是“问一句答一句”
word·excel·copilot
wuyk5554 天前
PyQt6-第14讲-数据库与Excel双向同步
数据库·python·ui·excel·pyqt