上次请教老师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编辑过]