以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  EXCEL报表-多个细节区  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89066)

--  作者:hawkgo
--  发布时间:2016/8/15 11:13:00
--  EXCEL报表-多个细节区

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160815110904.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160815110928.png
图片点击可在新窗口打开查看


如图的excel结构,一个主表下面有两个关联表,在打印每页时,按照条件设置每个关联表不同条件的打印,比如有10个类别,就表B,表C,分别按照条件设10次,结果的错误如图。
有什么更好的方案?




--  作者:Hyphen
--  发布时间:2016/8/15 11:27:00
--  
http://www.foxtable.com/webhelp/scr/1541.htm

表A

表B
表B

表C
表C

表A

关联表不能互相嵌套或交叉

--  作者:Hyphen
--  发布时间:2016/8/15 11:29:00
--  
这种情况把B和C关联成一个查询表,再进行输出
--  作者:hawkgo
--  发布时间:2016/8/15 12:14:00
--  
前一种情况不行。
我看看如何构建查询表,
问题是表B就是一个查询表,可以在查询表上在查询吗?

--  作者:Hyphen
--  发布时间:2016/8/15 14:42:00
--  
按表B创建查询表的方式再加上C
--  作者:大红袍
--  发布时间:2016/8/15 14:57:00
--  

 能否每个单独做一个模板,然后把几个模板的数据,合并到一个总的sheet里面去?

 

 做两个报表 sheet1、sheet2,然后把两个报表合并起来,就是你要的结果

 

Dim App As New MSExcel.Application

Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws1 As MSExcel.WorkSheet = Wb.WorkSheets("sheet1") \'指定要复制的工作表
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets("sheet2")
Dim Ws3 As MSExcel.WorkSheet = Wb.WorkSheets("sheet3")

Ws1.UsedRange.Copy
ws3.Cells(1,1).Select
ws3.paste
Ws2.UsedRange.Copy
\'ws3.Cells(1,Ws1.UsedRange.Columns.Count).Select \'横向拷贝
ws3.Cells(Ws1.UsedRange.Rows.Count,1).Select \'纵向拷贝
ws3.paste

\'Wb.Save
app.Visible = True
\'App.Quit

 


--  作者:hawkgo
--  发布时间:2016/8/16 11:16:00
--  
谢谢,我也恰好想这么做,想不到,红袍老师连代码都给了。感动。。。