ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5008|回复: 28

[求助] 批量形成资产标签

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-6 17:01 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
公司资产有几万件资产,想使用快捷的方式批量生成固定资产标签,使用了网友们分享的教程和模板,
因标签模板不同,本人对VBA编程一窍不通,折腾了好久都没弄出来
资产明细表有多少条数据,就能生成多少个标签,标签模板要求如下
求各位大神相助,感激不尽!





image.png image.png



一键生成固定资产标签.rar

18.78 KB, 下载次数: 48

TA的精华主题

TA的得分主题

发表于 2023-2-6 18:34 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是这种情况吗?
Screenshot_2023-02-06-18-33-40-323_com.tencent.mtt.jpg

TA的精华主题

TA的得分主题

发表于 2023-2-6 18:43 | 显示全部楼层
标签是另存为到文件夹下,做新的EXCEL文件,还是直接新建sheet表格啊?

TA的精华主题

TA的得分主题

发表于 2023-2-6 18:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
此类问题,论坛案例比较多的,楼主也可以搜一下其他的案例
如果还有其他问题,建议将楼主需求的模板制作好,并结合说明

TA的精华主题

TA的得分主题

发表于 2023-2-6 19:08 | 显示全部楼层
每个标签另存为excel了,要是有别的需求可以用录制宏的办法改一下。我也是刚学不久,代码速度可能不太快。
Sub 卡片()
Dim arr
Dim i, name, mypath
Application.ScreenUpdating = False
mypath = ActiveWorkbook.Path

arr = Sheets("资产明细").Range("a1").CurrentRegion

For i = 2 To UBound(arr)
    name = Application.WorksheetFunction.Text(arr(i, 1), "0000000000") & arr(i, 2)
    With Sheets("标签模板")
        Range("B2") = Application.WorksheetFunction.Text(arr(i, 1), "'0000000000")
        Range("D2") = arr(i, 2)
        Range("B3") = arr(i, 3)
        Range("B4") = arr(i, 5)
        Range("D4") = arr(i, 4)
        Range("B5") = arr(i, 6)
        Range("D5") = arr(i, 7)
    End With
    Sheets("标签模板").Copy
    ActiveWorkbook.SaveAs Filename:=mypath & "\" & name & ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
Next i

Application.ScreenUpdating = True
End Sub

一键生成固定资产标签.rar

21.49 KB, 下载次数: 24

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:32 | 显示全部楼层
Sub 标签()
Application.ScreenUpdating = False
Dim ar As Variant
With Sheets("资产明细")
    r = .Cells(Rows.Count, 1).End(xlUp).Row
    If r < 2 Then MsgBox "资产明细为空!": End
    ar = .Range("a1:g" & r)
End With
gs = r - 1
With Sheets("标签模板")
    rs = .Cells(Rows.Count, 1).End(xlUp).Row
    If rs > 6 Then .Rows("7:" & rs).Delete
    Range("B2,D2,B3:D3,B4,D4,B5,D5") = Empty
    m = 7
    For i = 2 To gs
        .Rows("1:6").Copy .Cells(m, 1)
        m = m + 6
    Next i
    m = 2
    For i = 2 To UBound(ar)
        If Trim(ar(i, 1)) <> "" Then
            .Cells(m, 2) = ar(i, 1)
            .Cells(m, 4) = ar(i, 2)
            .Cells(m + 1, 2) = ar(i, 3)
            .Cells(m + 2, 2) = ar(i, 5)
            .Cells(m + 2, 4) = ar(i, 4)
            .Cells(m + 3, 2) = ar(i, 6)
            .Cells(m + 3, 4) = ar(i, 7)
            m = m + 6
        End If
    Next i
    .Select
End With
Application.ScreenUpdating = True
MsgBox "ok!"
End Sub

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
1675733590362.png

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-7 09:37 | 显示全部楼层
代码仅供参考,因为,很多细节为描述清楚,比如:
1、生成的标签与标签之间需不需要空一行?
2、每行是一个标签,还是两个标签?
2、是需要生成一个独立的工作薄文件,还是??

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-8 09:35 | 显示全部楼层
本帖最后由 漫不经心14 于 2023-2-8 10:08 编辑
3190496160 发表于 2023-2-7 09:37
代码仅供参考,因为,很多细节为描述清楚,比如:
1、生成的标签与标签之间需不需要空一行?
2、每行是一 ...

非常感谢你的热心帮助
根据你提供的代码批量制作了4千多条标签,运行时很顺畅。
生成后的标签样式正是我想要的。
另外还出现有2个小问题:一是资产编号为10位数,但生成标签后前面的几个 0 没有了;二是运行后启用日期错乱,原表中的日期也被篡改了。
希望你可以帮忙解决一下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-3-2 22:31 , Processed in 0.033906 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表