+ -
当前位置:首页 → 问答吧 → vb 复制excel表到另外的excel中,帮忙看看代码该怎么改

vb 复制excel表到另外的excel中,帮忙看看代码该怎么改

时间:2011-08-30

来源:互联网

我想将一个excel中的表复制到一个新建的excel表中,下面的代码要报错,该怎样改
我要整表复制,带格式(背景色,字体,颜色等),不能用cells copy 的方法
VB code

Dim xlApp As New Excel.Application
Dim wBook As Excel.Workbook
Dim wSheet As Excel.Worksheet
    
Set wBook = xlApp.Workbooks.Add
Set wSheet = xlApp.Worksheets(1)

xlApp.Visible = True


Dim DesBook As Object        '目标 工作薄
Set DesBook = ActiveWorkbook

Dim ExcelApp As Object
Dim SourceBook As Object     '源   工作薄
Dim ExcelSheet As Object     '工作表

Set ExcelApp = CreateObject("Excel.Application")
Set SourceBook = ExcelApp.Workbooks.Open("d:\123.xls")    '打开源工作薄
Set ExcelSheet = SourceBook.Worksheets(1)           '设定当前要复制的工作表

ExcelSheet.Copy After:=DesBook.Sheets(1)   '把源工作表复制到 目标工作薄的第1个工作表

作者: fly1229   发布时间: 2011-08-30

ExcelSheet .select

作者: hansin   发布时间: 2011-08-30

可以用Excel录制宏的功能,录制你在Excel下复制的动作,然后查看宏,找到对应的VBA的代码,然后把VBA代码转到VB中来,可以试试!!!

作者: yizhenlangzi   发布时间: 2011-08-30

http://download.csdn.net/source/2346022

作者: Veron_04   发布时间: 2011-08-30

引用 2 楼 yizhenlangzi 的回复:
可以用Excel录制宏的功能,录制你在Excel下复制的动作,然后查看宏,找到对应的VBA的代码,然后把VBA代码转到VB中来,可以试试!!!


这个录制不了宏,因为是整个表复制,没有Ctrl+C的复制动作

作者: fly1229   发布时间: 2011-08-30

引用 3 楼 veron_04 的回复:
http://download.csdn.net/source/2346022


我用VBA没有问题,现在想在VB中使用代码

作者: fly1229   发布时间: 2011-08-30

引用楼主 fly1229 的回复:
我想将一个excel中的表复制到一个新建的excel表中,下面的代码要报错,该怎样改
我要整表复制,带格式(背景色,字体,颜色等),不能用cells copy 的方法

VB code

Dim xlApp As New Excel.Application
Dim wBook As Excel.Workbook
Dim wSheet As Excel.Worksheet
 

按照你的意思 是不是要先生成一个新EXCEL去存储这个要复制的表格内容?
那直接用:ExcelSheet.Copy DesBook.Sheets(1)  
还有你的声明有点乱,最好重新从头写清楚一遍,一会儿将新EXCEL作为活动目录,一会又要去在源EXCEL表内提取数据,

思路:让源EXCEL表成为活动目录,直接用.copy 到指定的新DesBook.Sheets(1)去,既然是第1个表,为什么还要用after

作者: yiyaozjk   发布时间: 2011-08-30