2011-06-01 99 views
0

考虑2个Excel文档:Excel文件A和Excel文件B.这些Excel文件在其中有工作表(文件A有a,b,c工作表,文件B有d,e,f工作表)。将工作表从一个Excel文档复制到另一个Excel1

我需要复制文件A,表a(等等)中的任何内容,并将其粘贴到试用错误工作表的第二张。我知道我需要为此做循环,但就是这样。

我对这个编程很陌生,更别说VBA了。

我想复制表单a中的任何内容到我的第二个表单,以及表单b中的任何内容复制到表单3中,依此类推。

+1

你是说在FILEB最终顺序应D,A,E,b,F,C? – 2011-06-01 05:45:36

回答

1

一些提示,让你开始

(我不是一些你想要的细节完全清楚,但是这应该让你开始)

首先打开这两个工作簿,在其中创建一个模块他们(不要紧,这个代码是哪一个),然后运行宏

Option Explicit ' at top of module - forces explicit declaration of variables, 
    'a good thing particularly while learning 
Sub CopySheets() 
    Dim wbFileA As Workbook 
    Dim wbFileB As Workbook 
    Dim sh As Worksheet 
    Dim shCopAfter As Worksheet 

    ' Point to the workbooks 
    Set wbFileA = Application.Workbooks("NameOfFileA.xls") 
    Set wbFileB = Application.Workbooks("NameOfFileB.xls") 

    ' Set pointer to first sheet in FileB 
    Set shCopAfter = wbFileB.Sheets(1) 

    ' loop through the sheets in FileA 
    For Each sh In wbFileA.Sheets 
     ' Copy sheet to FileB 
     sh.Copy After:=shCopAfter 
     ' If last sheet in book then set shCopyAfter to last sheet 
     If ActiveSheet.Index >= wbFileB.Sheets.Count Then 
      Set shCopAfter = ActiveSheet 
     Else 
      ' Else set shCopyAfter to the one after the one just copied 
      Set shCopAfter = wbFileB.Sheets(ActiveSheet.Index + 1) 
     End If 
    Next 
End Sub 
0
Dim x as Integer 
Dim wbA as Workbook, wbB as Workbook 

Set wbA = Workbooks("FileA") 
Set wbB = Workbooks("FileB") 

For x=1 to wbA.Sheets.Count 
    wbA.sheets(x).Copy After:=wbB.sheets((2*x)-1) 
Next x 
相关问题