各位大虾请教一下,如何用vb复制excel的工作表阿?
就是说,一个excel的工作表sheet1,上面有很多数据,我想用vb编程,用一个按钮的形式,把sheet1上的数据全部考到sheet2上面,包括工作表的颜色、表格的属性和表格的格式全部一模一样的拷贝过去。这是怎么考的阿?应该怎么写语句阿?有什么特殊的函数吗?

解决方案 »

  1.   

    我就是要在excel中做一个宏的程序,这个excel中有很多格式固定的工作表,这个宏的作用就是按照条件,把需要的工作表按照同样的格式合并到一个新建的工作表中并且打印。我本来是按照一格一格复制的,可是字符什么是复制过去了,可是表格的颜色,边框的颜色还有排版什么的都不一样了,我怎么样写才能把工作表中的表格按照一模一样的格式拷贝到新的工作表上呢?帮帮我哦!这方面的函数什么的我一点也不懂,求助各位大虾哦!
      

  2.   

    类似这样的问题,有一个通用的解决办法:1、在excel里面录制宏,做你要的操作
    2、到excel里面复制代码,到vb里面当然createobject这些初始化代码还是要写的
      

  3.   

    就是这个:Sub Macro1()
    '
    ' Macro1 Macro
    ' Michael 记录的宏 2005-12-28
    ''
        Cells.Select
        Selection.Copy
        Sheets("Sheet2").Select
        ActiveSheet.Paste
    End Sub
      

  4.   

    还想问一下 我录制了宏了,然后把宏里的代码拷贝到我要用的程序中,可是执行的时候,他说:类range的select方法无效,这怎么办啊?怎么初始化这些代码阿?我一点都不懂,在提示一下吧,谢谢了!
      

  5.   

    要在工程中引用microsoft Excel对象
      

  6.   

    Worksheets.Copy objBook.Sheets(1)
    用此方法可以把Excel文件中所有的Sheets都Copy一份在本Excel文件中
      

  7.   

    我已经引用了阿,是从"工程"菜单中选择"引用"栏;选择Microsoft Excel 10.0 Object Library,然后选择"确定"。是这样吗?
    然后,我写的代码是:
    Sheets("首页头").Select
        Rows("2:12").Select
        Selection.Copy
        Sheets("生成流程单").Select
        Rows("1:11").Select
        ActiveSheet.Paste
        Sheets("材料开始").Select
        Rows("2:9").Select
        Range("B2").Activate
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("生成流程单").Select
        Rows("12:19").Select
        ActiveSheet.Paste
    这些全部是在录制的宏里面拷贝的,要加上什么语句吗?
      

  8.   

    引用Microsoft Excel 10.0 Object Library後
    Dim objExcel As Excel.Application
    Dim objBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    Private Sub Command15_Click()
      Set objExcel = CreateObject("Excel.Application")
      Set objBook = objExcel.Workbooks.Open("F:\20051228141251.xls")
      objExcel.Visible = True
      Set objSheet = objBook.Sheets("Sheet1")
      objSheet.Copy After:=Sheets(2)  
      MsgBox "OK"
    End Sub
    可以把指定的Sheet1中的內容毫無改變的Copy到一新Sheet中
      

  9.   

    可是我要把好多工作表都按照顺序复制到一个工作表中阿
    Sheets("首页头").Select
        Rows("2:12").Select
        Selection.Copy
        Sheets("生成流程单").Select
        Rows("1:11").Select
        ActiveSheet.Paste
        Sheets("材料开始").Select
        Rows("2:9").Select
        Range("B2").Activate
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("生成流程单").Select
        Rows("12:19").Select
        ActiveSheet.Paste
    他老是提示:类range的select方法无效。
    这是什么意思啊?
    搞不定哦
      

  10.   

    像你这样的需求,为什么不用excel公式搞定呢?
      

  11.   

    应该像DengXingJie(杰西)说的那样,定义变量,然后初始化...
    然后你在变量后面输入.会有自动完成的提示的像这样调用呢?    Sheets("生成流程单").Rows("1:11").Select