以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  复制  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136173)

--  作者:发财
--  发布时间:2019/6/9 15:45:00
--  复制
如何用代码按钮将EXCEL表中一个工作表复制到新的工作表中
--  作者:发财
--  发布时间:2019/6/9 16:33:00
--  
Dim c As Date = vars("cc")
Dim f1 As String = "E:\\财务数据汇总\\经营审核\\" & month(c) & "月份"
Dim s1 As String = "财务办公室"
Dim Book1 As New XLS.Book(f1 & "\\" & s1 & "\\汇总.xls")
For Each file As String In filesys .GetFiles(f1 & "\\" & s1)
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim App As New MSExcel.Application
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(file)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("整改通知") \'指定要复制的工作表
        With Wb.WorkSheets
            Ws.Copy(book1,After:=.Item(.Count))\'复制到最后面
        End With
        Wb.Save
        App.Quit     
    End If
Next

--  作者:发财
--  发布时间:2019/6/9 16:34:00
--  

代码Ws.Copy(book1,After:=.Item(.Count))\'复制到最后面,复制到book1中,应如何改?


 


--  作者:有点甜
--  发布时间:2019/6/9 17:02:00
--  

参考

 

Dim fl As String = "d:\\单个文件.xls"
Dim fl2 As String = "d:\\合并总文件.xlsx"
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Wb2 As MSExcel.WorkBook = App.WorkBooks.Open(fl2)
Dim Ws1 As MSExcel.WorkSheet = Wb2.WorkSheets(1)
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(1)

Dim x As Integer = Ws1.UsedRange.Rows.Count
Ws2.UsedRange.Copy
ws1.Select
ws1.Cells(x,1).Select \'纵向拷贝
ws1.paste

\'Wb.Save
app.Visible = True

\'App.Quit

 


--  作者:发财
--  发布时间:2019/6/10 9:39:00
--  

如何做到是复制单个工作表,不是拷贝?


--  作者:有点甜
--  发布时间:2019/6/10 9:56:00
--  
以下是引用发财在2019/6/10 9:39:00的发言:

如何做到是复制单个工作表,不是拷贝?

 

不理解你的意思。上传具体实例,说明你要做到的效果。


--  作者:发财
--  发布时间:2019/6/10 10:42:00
--  

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

--  作者:发财
--  发布时间:2019/6/10 10:43:00
--  
用代码做上图的功能:复制一个工作表到另一个工作薄中
--  作者:有点甜
--  发布时间:2019/6/10 10:58:00
--  
Copy

复制工作表。

复制工作表也可用Before和After指定复制位置。如不指定,将新建一个只包含指定工作表的工作簿。如:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("同期对比") \'指定要复制的工作表
With Wb.WorkSheets
    Ws.Copy(After:=.Item(.Count))\'复制到最后面
    Ws.Copy(Before:=.Item(1))\'复制到最前面
    Ws.Copy  \'复制到一个新工作簿
End With
Wb.Save
App.Quit
--  作者:发财
--  发布时间:2019/6/10 11:02:00
--  
Ws.Copy(After:=.Item(.Count))\'复制到最后面
如何加地址是复制到指定的工作薄中?