考虑2个Excel文档:Excel文件A和Excel文件B.这些Excel文件里面有工作表(文件A有a,b,c工作表,文件B有d,e,f工作表)。
我需要复制文件A中的任何内容,表单a(依此类推)并将其粘贴到我的试用和错误工作表的第二张表中。我知道我需要为此循环,但就是这样。
我对这个编程很陌生,更不用说VBA了。
我想复制表单a中的任何内容,到我的第二张表格,表单b中的内容,复制在表格3中,依此类推。
答案 0 :(得分: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
答案 1 :(得分: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
答案 2 :(得分:0)
好吧,最初提出此问题八年后,Power Query已集成到Excel中并可以提供帮助。 按照以下步骤,从目标工作簿(“ B”)中加载“ A”中的源工作表。
此过程的好处是,如果源数据发生更改,则刷新目标“ B”中的数据所需要做的就是触发“数据”->“全部刷新”。