最近做了一个Excel VBA自定义模板(Label)标签生成小工具,本工具可以根据自己的喜好,在Excel表中定义好一个模板,即可以根据自己定义的模板生成响应的卡片文档样式; "https://findermp.video.qq.com/251/20304/stodownload?encfilekey=rjD5jyTuFrIpZ2ibE8T7YmwgiahniaXswqz8cAUZjQ71Gn2DlWUlmNP1OupnibB3HGxGI0P0qxIKIZhky9DicfTdcGvk2UEoLhWwHEbjTZDJBk0WVOrJrHJo9fA&adaptivelytrans=0&bizid=1023&dotrans=0&hy=SH&idx=1&m=&scene=0&token=x5Y29zUxcibBpFUSb3BhsEHJkaTQFIP0yhxMrvoKt5UA4LdZQUj4KzMp2zBYTbrPkrDfOLdkeo2Y"
VBA实现原理过程:
1.获取定义的标签模板范围
2.拾取标签数据表的数据
3.然后复制粘贴,标签范围的内容,到新的表里面
4.然后替换,复制到新表有{{}}标题的内容,遇到QR:标记的单元格时,先替换后生成二维码
5.调整新表内容的行高列宽(注意直接粘贴,是没有行号和列宽的)
6.经过以上几步,即可实现上述视频的效果
模板制作注意事项:
1.标签数据表,必须包含,不重复的表头列
2.模板中需要替换,为数据表字段的数据字段 {{数据表的字段}} ,比如 {{姓名}} 则生成的标签,会替换成 姓名 列的数据
3.需要生成二维码的单元格,只要在 {{数据表字段}} 前,加上 QR: 即可;比如 QR:{{姓名}} {{学号}},那么标签生成的二维码内容就是: 张三 20221007
部分代码凑个字数:
代码语言:javascript复制''删除和新建表
Function DeleteAndCreateNewSheet() As Worksheet
Dim Sht As Worksheet, newshtname As String
newshtname = "标签生成页"
For Each Sht In ThisWorkbook.Worksheets ''删除旧表
If Sht.Name = newshtname Then
Application.DisplayAlerts = False
Sht.Delete
Application.DisplayAlerts = True
End If
DoEvents
Next
'----------
ThisWorkbook.Worksheets.Add.Name = newshtname ''添加新表
Dim newsht As Worksheet: Set newsht = ThisWorkbook.Worksheets(newshtname)
Set DeleteAndCreateNewSheet = newsht
End Function
工具下载地址:
代码语言:javascript复制链接:https://pan.baidu.com/s/1l53o81W2QjN-i-eVlrEv5Q?pwd=aphu
提取码:aphu