Foxtable(狐表)用户栏目专家坐堂 → 继续请教exce报表顺序号问题


  共有3404人关注过本帖树形打印复制链接

主题:继续请教exce报表顺序号问题

帅哥哟,离线,有人找我吗?
feiyu988
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:2915 威望:0 精华:0 注册:2013/8/28 22:21:00
继续请教exce报表顺序号问题  发帖心情 Post By:2023/8/31 19:34:00 [显示全部帖子]

上次请教老师excel报表中自动生成顺序号问题,以下是老师给出的代码,模板在只有一个sheet时没问题,但如果一个模板里有两个sheet表,都有序号列,那么其中有一个表的序号就会从另一个表的序号接着往下排,不能重新从1开始:
BeforeBuild事件中,将这两个标签插入到Marks集合:
Select Case e.Book.TempLate
    Case "某模板名称"
        e.Book.Marks.Add("序号",0)
        e.Book.Marks.Add("xh", 0)
End Select

BuildDetail事件中加入下面的代码:

Select Case e.Book.TempLate
    Case "某模板名称"

        e.Book.Marks("xh") = e.Book.Marks("xh") + 1
       e.Book.Marks("序号") = e.Book.Marks("xh")
End Select

我试了一下改用以下代码:
BeforeBuild事件中,将这两个标签插入到Marks集合:
Select Case e.Book.TempLate
    Case "某模板名称"
        Select Case e.Book.CurrentSheetName
            Case "统计表1"
                e.Book.Marks.Add("序号", 0)
                e.Book.Marks.Add("xh", 0)
            Case "统计表2"
                e.Book.Marks.Add("序号", 0)
                e.Book.Marks.Add("xh", 0)
        End Select
End Select

BuildDetail事件中加入下面的代码:

Select Case e.Book.TempLate
    Case "某模板名称"
Select Case e.Book.CurrentSheetName
    Case "统计表1"
        e.Book.Marks("xh") = e.Book.Marks("xh") + 1
        e.Book.Marks("序号") = e.Book.Marks("xh")
    Case "统计表2"
        e.Book.Marks("xh") = e.Book.Marks("xh") + 1
        e.Book.Marks("序号") = e.Book.Marks("xh")
End Select
End Select
结果出现”给定关键字不在字典中“,检查模板表名称、里面的sheet名称都没错。
[此贴子已经被作者于2023/8/31 19:35:41编辑过]

 回到顶部