Foxtable(狐表)用户栏目专家坐堂 → [讨论]ws.Copy(Before:=.Item(1))速度慢


  共有2224人关注过本帖平板打印复制链接

主题:[讨论]ws.Copy(Before:=.Item(1))速度慢

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


加好友 发短信
等级:小狐 帖子:357 积分:2994 威望:0 精华:0 注册:2023/6/7 16:07:00
[讨论]ws.Copy(Before:=.Item(1))速度慢  发帖心情 Post By:2023/9/20 15:39:00 [只看该作者]

需求:打开tb1 
         打开tb2 
         把tb1所有的sheet复制到tb2

问题: 速度有点慢,使用ws.Copy(Before:=.Item(1)) ,如果tb1里有30个sheet,需要等待一会儿,效率有点低,有其他方法吗?


源码:
Dim Wb As MSExcel.Workbook = App.WorkBooks.open(tb1)
Dim Ws As MSExcel.WorkSheet
Dim WbNew As MSExcel.Workbook = App.WorkBooks.open(tb2)
ShowAppWindow(tb3, 2) 
Dim wsNew As MSExcel.WorkSheet = Wb.WorkSheets(1) '指定要复制的工作表
'''获取sheet名称
For Each WsName As MSExcel.WorkSheet In Wb.WorkSheets
    '    Output.Show(WsName.Name)
    ws = Wb.WorkSheets(WsName.Name)
    With WbNew.WorkSheets
        ws.Copy(Before:=.Item(1))'复制到最前面
    End With
    
Next
WbNew.Save

 回到顶部