我在一个文件夹中有很多excel文件。
我想要一个宏来遍历每个文件并复制名为最终成本的工作表,并在目标文件中制作一个带有源文件名称的工作表。
就像有三个文件 A、B、C,每个文件都有一张名为“最终成本”的表格
新文件将包含三个名为
- 一个,
- 乙,
- C
编辑后的代码看起来像
Sub RunCodeOnAllXLSFiles()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook
'Application.ScreenUpdating = False
'Application.DisplayAlerts = False
'Application.EnableEvents = False
'On Error Resume Next
'Set wbCodeBook = ThisWorkbook
Dim FilePath As String, fName As String
Dim aWB As Workbook, sWB As Workbook
Set aWB = ActiveWorkbook
FilePath = "D:\binny\" 'change to suit
fName = Dir(FilePath & "*.xls")
Do While fName <> ""
If fName <> aWB.Name Then
Set sWB = Workbooks.Open(FileName:=FilePath & fName, UpdateLinks:=0)
sWB.Worksheets("Final Cost").Range("A1:Z6666").Copy
sWB.Close False
Sheets.Add.Name = fName
Worksheets(fName).Range("D1").Select
ActiveSheet.PasteSpecial Format:= _
"Microsoft Word 8.0 Document Object"
End If
fName = Dir
Loop
Set sWB = Nothing: Set aWB = Nothing
'Application.ScreenUpdating = True
'Application.DisplayAlerts = True
'Application.EnableEvents = True
End Sub
现在要做的事情是:
- 保留格式和单元格宽度
- 我无法让选择性粘贴工作
- 如果存在,删除同名工作表