ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 生成报表的样式

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-18 17:34 | 显示全部楼层
fanyoulin 发表于 2020-6-18 16:44
我用删减数据源数据的方法反复测试,基本上可以确定原因了,还是之前的那个地方,把:
            If L ...

谢谢,可以了,检查还有一个问题,在第一页到第二的时候,类别品种,会少一个品种

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-18 17:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
就是在每次换页的时候会少输入1个品种

TA的精华主题

TA的得分主题

发表于 2020-6-19 08:54 | 显示全部楼层
缘之绘 发表于 2020-6-18 17:36
就是在每次换页的时候会少输入1个品种

还是原来的问题,没有根本解决,从这里开始往后都要修改:

            If Len(arr3(i, 1)) > 0 And Len(arr3(i, 2)) = 0 Then
               Range(Cells(j + 3, (k - 1) * 5 + 1), Cells(j + 4, (k - 1) * 5 + 1)).Select
               Selection.Merge
               With Selection.Font
                    .Name = "微软雅黑"        '这一行去掉,代码只能定义类别字体的大小,字体由模板来定义
                    .Size = 20
                    .Bold = True
               End With
            End If

            If Len(arr3(i, 1)) > 0 And Len(arr3(i, 2)) = 0 And j > s - 3 Then
               if k<3 then                          '这里只能解决部分问题,换页的时候仍然不行,需要重写
                  i=i+1
               endif
               Exit For
            End If
            ......                         '中间这部分不需要改动,代码省略        
    Next k
    js = js + 1

Next i


改成:
            If Len(arr3(i, 1)) > 0 And Len(arr3(i, 2)) = 0 Then
               Range(Cells(j + 3, (k - 1) * 5 + 1), Cells(j + 4, (k - 1) * 5 + 1)).Select
               Selection.Merge
               With Selection.Font           '这里去掉了字体重定义,字体由模板定义
                    .Size = 20
                    .Bold = True
               End With
            End If

            i = i + 1                            '这里有明显改动
            If Len(arr3(i, 1)) > 0 And Len(arr3(i, 2)) = 0 And j > s - 3 Then
               Exit For
            End If

    Next k

    js = js + 1
    i = i - 1                                     '这里增加了一行,丢失的那个类别就在这里产生的


Next i

TA的精华主题

TA的得分主题

发表于 2020-6-19 09:00 | 显示全部楼层
缘之绘 发表于 2020-6-18 17:36
就是在每次换页的时候会少输入1个品种

回帖在审核,还需要少许改动,丢失的类别与昨天那个问题有关,昨天的修正没有能全面解决问题;或者你参照下面截图改一下,那三个有注释的地方:

1.png

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-28 17:13 , Processed in 0.049936 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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