Foxtable(狐表)用户栏目专家坐堂 → 合并工作簿


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

主题:合并工作簿

美女呀,离线,留言给我吧!
漂亮美眉vszh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
合并工作簿  发帖心情 Post By:2019/6/25 17:49:00 [只看该作者]

老师:例如某个文件夹下,有好多EXCEL工作簿,想把这些所有的工作簿内的所有工作表(一张工作簿可能存在一张或有多张表)合并到一张工作簿内。
能实现吗?完全没思路~~

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/25 20:40:00 [只看该作者]

看看:
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=90446
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=131590

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/7/24 16:15:00 [只看该作者]

老师:您给的例子与在论坛中搜索了贴子,没找到相要的答案,用VBA是实现了,现在不知道用FAXTABLE如何写这段代码
意思是:A工作簿,循环B工作薄内的工作表(一个工作薄内有可能有多张表),在A工作簿内插入一张新表,接收B工作簿中的循环表
VBA代码如下:
For Each file In files     //循环工作簿,例A
          Set wb = Workbooks.Open(file.Path)  //得到工作簿A
            For y = 1 To wb.Sheets.Count   //循环B工作簿中的工作表
                wb.Sheets(y).Copy After:=Workbooks("合并工作簿转PDF.xlsm").Sheets(Workbooks("合并工作簿转PDF.xlsm").Sheets.Count)  //在A内最后一个工作表后插入新工作表,接收B内循环的工作表,这种方式不会破坏原有表格式
            Next y
           wb.Close
    Next
用FOXTABLE如何写这句?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/24 16:31:00 [只看该作者]

看不懂。

上传具体实例看看

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/7/24 16:41:00 [只看该作者]

这个我只做了VBA的,用FOXTABLE写不出来,VBA也就是上述发你的代码
意思:循环B工作簿内的表格(可能一个工作簿中有多个表),在A工作簿最后插入一张工作表,将B内的表粘贴到A新插入的表中

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/24 16:54:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=131590,看8楼

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/7/24 17:46:00 [只看该作者]

自己在论坛上搜到过这个帖子,代码上午就试过,他是合并到同一张表上,我是合并到新插入的工作簿中,不一样

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/25 8:32:00 [只看该作者]

代码是死的,人是活的,学会灵活运用。

参考:http://www.foxtable.com/webhelp/topics/2121.htm

WorkBook

WorkBook对象代表Microsoft Excel工作簿,它在Application对象的下一层。WorkBook是WorkBooks集合的成员。

常用方法

  • Add

    创建新的工作簿。如下面的代码,就将新建一个工作簿,该工作簿的第一个工作表的名称改为hhh,同时在A1单元格写入“hhh123”,然后保存为D:\123.xls。

    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.Workbook = App.WorkBooks.Add
    Wb.WorkSheets(1).name = "hhh"
    Wb.WorkSheets(1).range("A1").Value = "hhh123"
    Wb.SaveAs("d:\123.xls")
    App.Quit

    需要说明的是,在创建新工作簿后,该工作簿就成为活动工作簿。

 回到顶部