ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: xiaoalanbbb

[求助] 标签打印求助

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-28 15:06 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
求助,谢谢

TA的精华主题

TA的得分主题

发表于 2020-5-28 15:51 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-28 16:21 来自手机 | 显示全部楼层
就是您出的标签打印页,两行标签之间的间距要可调啊。而且现在不方便的就是点击后硬多出一个新的工作表,不管点什么都要关闭原来工作表。很不方便。能不能帮忙排好版的生成工作薄内的工作表。

TA的精华主题

TA的得分主题

发表于 2020-5-28 16:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

留意 Const RowsBetweenLabels = 3 & Const LabelsInOnePage = 15, 就是調節行之间及每頁labels數量
  1. Sub zz()
  2. Dim n&, m&, MyLabel, r, c, rng As Range, rc(1), pb&, tbr&, tbc&, labels$
  3. Application.ScreenUpdating = 0
  4. Const RowsBetweenLabels = 3
  5. Rem LabelsInOnePage 3 columns of labels x rows of lables
  6. Const LabelsInOnePage = 15
  7. Set rng = Sheets(1).[a1:d3]
  8. tbr = rng.Rows.Count + RowsBetweenLabels
  9. tbc = 5
  10. MyLabel = rng.Value
  11. c = Split("2|2|2", "|")
  12. r = Split("1|2|3", "|")
  13. a = Sheets(2).[a2].CurrentRegion
  14. Sheets(1).Copy after:=Sheets(Sheets.Count)
  15. For i = 2 To UBound(a)
  16.     If a(i, 5) Then
  17.         
  18.         For j = 1 To a(i, 5)
  19.             For n = 0 To UBound(c)
  20.                 MyLabel(r(n), c(n)) = a(i, 2 + n)
  21.             Next
  22.             rng.Copy Cells(rc(0) * tbr + 1, rc(1) * tbc + 1)
  23.             Cells(rc(0) * tbr + 1, rc(1) * tbc + 1).Resize(3, 3) = MyLabel
  24.             m = m + 1
  25.             rc(0) = Int(m / 3)
  26.             rc(1) = m Mod 3
  27.             pb = pb + 1
  28.             If pb Mod LabelsInOnePage = 0 Then ActiveSheet.HPageBreaks.Add Before:=Cells(rc(0) * tbr + 1, 1)
  29.         Next
  30.     End If
  31. Next
  32. Application.ScreenUpdating = 1
  33. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-28 21:31 | 显示全部楼层
大神,误解了我的意思。
求助:
1,点击后能否不要生成新的工作表,而是直接把数据参考SHEET1标签模板样式生成在下面“生成标签”的工作表中。
这样可以避免不断创建新的工作表,而且这样最大的好处是格式固定,方便打印。这样在固定格式内,可以随便调节字体了,行高了,很方便。
相应的,每页打印多少个标签就不需要管啦。
2,当然,能否也直接在生成标签那一个工作表中,自动代码设定当前有数据的区域为打印区域。(因为有数据的区域会变动,函数不好设置)
求高手出手协助。谢谢!!

zz1.rar

29.5 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2020-5-29 10:08 | 显示全部楼层
xiaoalanbbb 发表于 2020-5-28 21:31
大神,误解了我的意思。
求助:
1,点击后能否不要生成新的工作表,而是直接把数据参考SHEET1标签模板样 ...

應該是你所要的了, 看附件。

zz.zip

24.61 KB, 下载次数: 18

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-29 12:15 来自手机 | 显示全部楼层
Chip_Kenny 发表于 2020-5-29 10:08
應該是你所要的了, 看附件。

高人。谢谢。基本满足了需求 。唯一细节觉得可以再改善的地方是,假设当前标签数据里的内容太多,能不能自动降低字体的字号并自动换行以便完全显示出来。如果内容不多就按统一字号。这个需求简称为自适应完全显示

TA的精华主题

TA的得分主题

发表于 2020-5-29 13:13 | 显示全部楼层
在标签模板內設定自动降低字体的字号或自动换行即可, 因為生成标签是由那裡copy過來的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-29 14:29 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
事实证明不行。无论在标签模板还是数据表,设定自动换行,生成的标签还是不会自动换行。而且我不是需求自动换行这么简单,而是随着内容自适应。需要时自动换行并降低字号,不需要时不用。自适应的。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 08:43 , Processed in 0.049131 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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