以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]多个报表组合  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=112787)

--  作者:chnfo
--  发布时间:2018/1/2 22:58:00
--  [求助]多个报表组合
目前,要从多个源数据中提取数据,形成一个汇总表。
效果就相当于下图所示的,生成两个报表块,然后在一起显示。
应当如何设计,或有什么方法也行


图片点击可在新窗口打开查看此主题相关图片如下:报表组合.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2018/1/2 23:03:00
--  
分开2个sheet,分别生成报表。然后再合并


--  作者:chnfo
--  发布时间:2018/1/2 23:44:00
--  
Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.open("D:\\FoxtableUse\\PFC\\Reports\\项目概算汇总表.xls")
Dim ws As MSExcel.WorkSheet
ws = Wb.WorkSheets(1)
Dim rg As MSExcel.Range  = ws.Cells(ws.UsedRange.Rows.Count+1,1)
app.DisplayAlerts = False
For i As Integer = Wb.WorkSheets.Count To 2 Step -1
    Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(i)
    Dim Rg2 As MSExcel.Range = Ws2.UsedRange
    rg2.Copy
    rg.PasteSpecial()
    rg = ws.Cells(ws.UsedRange.Rows.Count+1,1)
    \'Ws2.Delete
Next
Wb.Save
App.Quit


这个方法,是把所有的sheet里的数据逐行复制到一个sheet中。

问题:
能不能设定把其中两个sheet,如sheet2和sheet3做列的复制呢。即sheet3的数据从sheet2的第一个空列开始复制?

--  作者:有点甜
--  发布时间:2018/1/3 9:26:00
--  

Dim rg As MSExcel.Range  = ws.Cells(ws.UsedRange.Rows.Count+1,1)

 

改成

 

Dim rg As MSExcel.Range  = ws.Cells(1, ws.UsedRange.Columns.Count+1)