【发布时间】:2017-07-05 19:53:52
【问题描述】:
以下是用于从源复制工作表然后重命名并放置到目标的代码。
我想扩展功能以使用另一个单元格引用来重命名新创建的文件中的工作表名称。 (注意每个复制的工作簿只有一个工作表。)然后在所有工作簿被复制、重命名和工作表重命名后,将目标路径中的所有工作簿合并为一个。
Sub CopyRenameFile()
Dim src As String, dst As String, fl As String, f2 As String
Dim rfl As String
Dim rf2 As String
'Source directory
src = Range("B3")
'Destination directory
dst = Range("D3")
'File name
fl = Range("B6")
f2 = Range("B7")
'Rename file
rfl = Range("D6")
rf2 = Range("D7")
On Error Resume Next
FileCopy src & "\" & fl, dst & "\" & rfl
FileCopy src & "\" & f2, dst & "\" & rf2
If Err.Number <> 0 Then
MsgBox "Copy error: " & src & "\" & rfl
End If
On Error GoTo 0
Dim xL As Excel.Application
Set xL = New Excel.Application
xL.Visible = True
Dim wb As Excel.Workbook
Set wb = xL.Workbooks.Open(F6)
'In case you don't know how here are two ways to reference a sheet:
Dim sh As Excel.Worksheet
Set sh = xL.Sheets(1)
sh.Name = "TestMeOut"
'Saving and closing are important...
wb.Save
Set wb = Nothing
xL.Quit
Set xL = Nothing
End Sub
【问题讨论】:
-
我在那里看不到任何代码复制表。这与问题有什么关系?
-
上面从源目录中获取一个文件 f1 然后重命名该文件并将其放置在目标目录中。我想添加到它以获取新命名的文件并更改工作表名称。之后复制并重命名列表中的所有文件,然后将它们合并到一个工作簿中,与执行宏的工作簿分开。