ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 提取数据并按要求生成打印表格

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-8-23 14:20 | 显示全部楼层 |阅读模式
点击按钮后,根据sheet页“店舗”的数据,在sheet页“みやき用紙(数式有)”生成A4大小的打印页,sheet页“店舗”的每一行数据都会生成一页新的打印页

店舗用紙作成【九州】.rar

1.74 MB, 下载次数: 6

附件

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-23 14:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 大翔象 于 2024-8-23 14:45 编辑

1行数据会生成 四条对应的打印格
数据对应关系如下

(1)对应D列

(2) 由B列数据 + 年月日 + 0001 (以此类推 1行生成四条 其他的就是 0002 0003 0004 下一行数据还是从0001开始)构成 并且 转换为对应的128条形码(model1里有生成128条形码的方法)  
(3)C列
(4)默认值:/
(5)默认值:みやきセンター
(6)B列


按钮.jpg
结果.jpg

TA的精华主题

TA的得分主题

发表于 2024-8-23 14:25 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-23 14:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ykcbf1100 发表于 2024-8-23 14:25
日文看不懂,略过。。。

不好意思,第一次发帖没经验,还没详细介绍还没发完

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-23 14:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-8-23 21:13 | 显示全部楼层

Option Explicit
Sub test1()
    Dim ar, br, cr, i&, j&, tRng As Range, iPosRow&, iMsg&
   
    Application.ScreenUpdating = False
   
    ar = Worksheets("店舗").[B1].CurrentRegion.Value
    Set tRng = Sheets("みやき用紙(数式有)").[A1:K31]
    br = [{"B1","H1","B18","H18"}]
    cr = [{"A5","G5","A22","G22"}]
   
    With Worksheets(3)
        .Cells.Delete
        For i = 1 To UBound(ar)
            iPosRow = (i - 1) * 32 + 1
            rngCopyToSame tRng, .Cells(iPosRow, 1)
            If i > 1 Then .HPageBreaks.Add Before:=.Cells(iPosRow, 1)
            With .Cells(iPosRow, 1)
                For j = 1 To UBound(br)
                    .Range(br(j)).Value = "'" & Format(ar(i, 1), "00000") & Format(Date, "YYMMDD") & Format(j, "0000")
                Next j
                For j = 1 To UBound(cr)
                    .Range(cr(j)).Value = ar(i, 2)
                    .Range(cr(j)).Offset(1).Offset(, 4).Value = ar(i, 1)
                Next j
            End With
        Next i
        .Activate
        iMsg = MsgBox("是否预览", vbYesNo + vbInformation, "???")
        If iMsg = vbYes Then .PrintPreview
        ActiveWindow.ScrollRow = 1
    End With
   
    Application.ScreenUpdating = True
    Beep
End Sub
Function rngCopyToSame(ByVal rngSel As Range, ByVal rngTarget As Range)
    Dim i&
    rngSel.Copy
    rngTarget.PasteSpecial xlPasteColumnWidths
    rngSel.Copy rngTarget
    With rngTarget.Resize(rngSel.Rows.Count, rngSel.Columns.Count)
        For i = 1 To .Rows.Count
            .Rows(i).RowHeight = rngSel.Rows(i).RowHeight
        Next i
    End With
End Function

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-26 09:11 | 显示全部楼层
gwjkkkkk 发表于 2024-8-23 21:13
Option Explicit
Sub test1()
    Dim ar, br, cr, i&, j&, tRng As Range, iPosRow&, iMsg&

大佬我执行了一下,有部分条形码都堆在了第一个这里,其他三个都没转换为条形码,求解
AB454CFA-9835-4f9c-92D8-C27B4F70E84A.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-26 09:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
大翔象 发表于 2024-8-26 09:11
大佬我执行了一下,有部分条形码都堆在了第一个这里,其他三个都没转换为条形码,求解

这个是我模板的问题,解决了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 16:32 , Processed in 0.034343 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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