ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 根据固定资产明细表,生成固定资产卡片标签

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-31 16:49 | 显示全部楼层 |阅读模式
本帖最后由 jaimie2024 于 2024-3-31 17:00 编辑

求助,能不能根据固定资产明细表,生成固定资产的卡片标签?

固定资产明细表中的列数可能较多,只需要选取其中四列生成标签。
1、需不需要把四列单独列在一张表里再生成标签?
2、能不能实现自己选哪几个固定资产就生成那几个固定资产的标签?
3、点击固定资产明细表中的固定资产编号,能不能自动链接到相对应的卡片标签上?
4、用VBA还是用函数方式?
大佬可以帮忙生成吗?急用,万分感谢!

固定资产电脑空调打印机等标签设置.rar

121.08 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2024-3-31 17:05 | 显示全部楼层
本帖最后由 高个子 于 2024-3-31 19:39 编辑

1、不需要
2、能
3、能
4、你要实现2和3,你的版本要用VBA解决的

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 17:26 | 显示全部楼层
高个子 发表于 2024-3-31 17:05
1、不需要
2、能
3、能

可不可以帮忙生成呀?我实在不会

TA的精华主题

TA的得分主题

发表于 2024-3-31 19:24 | 显示全部楼层
本帖最后由 咔咔乱坠 于 2024-3-31 19:50 编辑

纯函数可实现,但是需要动态数组、辅助列、条件格式、隐藏列相互搭配
详见附件吧
使用前提:最新版wps!
使用建议:查询条件为多个时用顿号分隔

测试.zip

137.48 KB, 下载次数: 17

TA的精华主题

TA的得分主题

发表于 2024-3-31 21:43 | 显示全部楼层
image.png
  1. =DROP(IFNA(REDUCE("",原始明细!B4:B152,LAMBDA(x,y,VSTACK(x,原始明细!A1,TRANSPOSE(VSTACK(CHOOSECOLS(原始明细!3:3,2,3,4,26),CHOOSECOLS(OFFSET(y,,,,25),1,2,3,25))))))&"",""),1)
复制代码
用一列+条件格式

TA的精华主题

TA的得分主题

发表于 2024-3-31 22:22 | 显示全部楼层
类似于准考证制作,vba来完成是最佳方案,灵活高效

TA的精华主题

TA的得分主题

发表于 2024-4-1 09:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 生成标签()
Application.ScreenUpdating = False
With Sheets("原始明细")
    r = .Cells(Rows.Count, 2).End(xlUp).Row
    If r < 4 Then MsgBox "原始明细为空!": End
    ar = .Range(.Cells(3, 1), .Cells(r, 26))
    mc = .[a1]
End With
If (r - 3) / 2 = Int((r - 3) / 2) Then
    gs = (r - 3) / 2
Else
    gs = Int((r - 3) / 2) + 1
End If
With Sheets("标签")
    rs = .Cells(Rows.Count, 1).End(xlUp).Row
    If rs >= 6 Then .Rows("6:" & rs).Delete
    .Range("B2:B5,E2:E4,E5") = Empty
    m = 6
    For i = 2 To gs
        .Rows("1:5").Copy .Cells(m, 1)
        m = m + 5
    Next i
    m = 1
    For i = 2 To UBound(ar) Step 2
        If ar(i, 2) <> "" Then
            x = 0
            For j = 2 To 4
                x = x + 1
                .Cells(m + x, 2) = ar(i, j)
            Next j
            .Cells(m + 4, 2) = ar(i, 26)
        End If
        If i + 1 <= UBound(ar) Then
            If ar(i + 1, 2) <> "" Then
                x = 0
                For j = 2 To 4
                    x = x + 1
                    .Cells(m + x, 5) = ar(i + 1, j)
                Next j
                .Cells(m + 4, 5) = ar(i + 1, 26)
            End If
        End If
        m = m + 5
    Next i
End With
Application.ScreenUpdating = True
MsgBox "ok!"
End Sub

TA的精华主题

TA的得分主题

发表于 2024-4-1 09:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
固定资产电脑空调打印机等标签设置.rar (139.57 KB, 下载次数: 2)

TA的精华主题

TA的得分主题

发表于 2024-4-1 09:23 | 显示全部楼层
一次性生成所有标签,仅供参考,实在不行,可以加v

TA的精华主题

TA的得分主题

发表于 2024-4-1 20:08 | 显示全部楼层
jaimie2024 发表于 2024-3-31 17:26
可不可以帮忙生成呀?我实在不会

主要是你要点击数据源的编号跳转到标签那里,要是能反过来点击标签跳转到数据源那里倒是能用函数做
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 06:36 , Processed in 0.036976 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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