ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 紧急求助各位高手帮忙制作“交货标签”!!!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-8 14:48 | 显示全部楼层 |阅读模式
紧急求助各位高手帮忙:   
     因为我是公司急用打标签,由于量较大,所以想根据自己打印的交货清单明细数据,想让它自动生成能套打每张A4格式的18个交货标签,而且我只要套打红字的格式中的字,其余的格式呀字体呀都不用打(因为都是印刷好的)。以下是我的原件,请求各位高手帮忙,不管是用函数还是VBA都行,急用呀,谢谢各位大虾支持!

交货标签.rar

6.81 KB, 下载次数: 90

TA的精华主题

TA的得分主题

发表于 2009-4-8 15:17 | 显示全部楼层
“交货标签”必须一页打印那么多个么,如果一个的话用Excel简单,要是那么多的话我觉得你不如直接用邮件合并更好

TA的精华主题

TA的得分主题

发表于 2009-4-8 15:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-8 16:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
用VLOOKUP()

只提供半成品:

[ 本帖最后由 guzhen9315 于 2009-4-8 16:20 编辑 ]

LS_交货标签.rar

6.71 KB, 下载次数: 97

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-10 11:00 | 显示全部楼层
谢谢楼上的,不知道还有没有更好的方法来帮助我呢

TA的精华主题

TA的得分主题

发表于 2009-4-10 11:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 5楼 carol010109 的帖子

如有乱码,请复制下面代码贴上:
Private Sub CommandButton1_Click()
Dim i, j, k, m, n, p As Long
With Sheets("交货标签")
    .Range("B3:B10, E3:E10, H3:H10").ClearContents
    .Range("B14:B21, E14:E21, H14:H21").ClearContents
    .Range("B25:B32, E25:E32, H25:H32").ClearContents
    .Range("B36:B43, E36:E43, H36:H43").ClearContents
    .Range("B47:B54, E47:E54, H47:H54").ClearContents
    .Range("B58:B65, E58:E65, H58:H65").ClearContents
End With
m = -1: k = 3
For i = 2 To Sheets("交货清单").[A65536].End(xlUp).Row
    p = p + 1   '笔数
    If m < 8 Then
        m = m + 3
        If n < 14 Then
            n = k - 1
        Else
            n = n - 8
        End If
    Else
        m = -1
        m = m + 3
        n = n + 3
    End If
    For j = 2 To 9
        n = n + 1
        Sheets("交货标签").Cells(n, m) = Sheets("交货清单").Cells(i, j)
    Next j
    If p = 18 Then
        With Sheets("交货标签")
            With .PageSetup
                .PrintArea = "交货标签!$A$1:$H$65"
                .PaperSize = xlPaperA4
                .FitToPagesWide = 1
                .FitToPagesTall = 1
            End With
            .PrintOut Copies:=1, Collate:=True
            .Range("B3:B10, E3:E10, H3:H10").ClearContents
            .Range("B14:B21, E14:E21, H14:H21").ClearContents
            .Range("B25:B32, E25:E32, H25:H32").ClearContents
            .Range("B36:B43, E36:E43, H36:H43").ClearContents
            .Range("B47:B54, E47:E54, H47:H54").ClearContents
            .Range("B58:B65, E58:E65, H58:H65").ClearContents
            m = -1: k = 3: p = 0: n = 0
        End With
    End If
Next i
End Sub

[ 本帖最后由 mineshine 于 2009-4-10 12:01 编辑 ]

交货标签.rar

15.32 KB, 下载次数: 147

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-13 15:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 6楼 mineshine 的帖子

非常感谢,真是帮了我的大忙了 ,以后如果有需要用的着的地方尽管说

TA的精华主题

TA的得分主题

发表于 2010-12-9 11:31 | 显示全部楼层
2010/12/9来信收到:
交货标签打印格式原先的:3列6行共18张的标签,更改为:2列4行共8张标签的格式。

  1. Private Sub CommandButton2_Click()
  2. Dim i, j, k, m, n, p As Long
  3. With Sheets("交货标签")
  4.     .Range("B3:B10, E3:E10").ClearContents
  5.     .Range("B14:B21, E14:E21").ClearContents
  6.     .Range("B25:B32, E25:E32").ClearContents
  7.     .Range("B36:B43, E36:E43").ClearContents
  8. End With
  9. m = -1: k = 3
  10. For i = 2 To Sheets("交货清单").[A65536].End(xlUp).Row
  11.     p = p + 1   '笔数
  12.     If m < 5 Then
  13.         m = m + 3
  14.         If n < 14 Then
  15.             n = k - 1
  16.         Else
  17.             n = n - 8
  18.         End If
  19.     Else
  20.         m = -1
  21.         m = m + 3
  22.         n = n + 3
  23.     End If
  24.     For j = 2 To 9
  25.         n = n + 1
  26.         Sheets("交货标签").Cells(n, m) = Sheets("交货清单").Cells(i, j)
  27.     Next j
  28.     If p = 8 Then
  29.         With Sheets("交货标签")
  30.             With .PageSetup
  31.                 .PrintArea = "交货标签!$A$1:$E$43"
  32.                 .PaperSize = xlPaperA5      'xlPaperA5。A5 (148 mm x 210 mm)
  33.                 .FitToPagesWide = 1
  34.                 .FitToPagesTall = 1
  35.             End With
  36.             .PrintOut Copies:=1, Collate:=True
  37.             .Range("B3:B10, E3:E10").ClearContents
  38.             .Range("B14:B21, E14:E21").ClearContents
  39.             .Range("B25:B32, E25:E32").ClearContents
  40.             .Range("B36:B43, E36:E43").ClearContents
  41.             m = -1: k = 3: p = 0: n = 0
  42.         End With
  43.     End If
  44. Next i
  45. End Sub
复制代码

[ 本帖最后由 mineshine 于 2010-12-9 11:50 编辑 ]

交货标签.rar

17.62 KB, 下载次数: 157

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-12-9 13:18 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 10:51 , Processed in 0.040815 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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