我需要每天将整个电子表格从主工作簿复制到另一个工作簿(工作簿2)。然后我需要使用工作簿2中的当前日期重命名选项卡。我不想打开工作簿2.我想自动点击主工作簿上的宏按钮来更新另一个位置保存的其他工作簿。
这是我试过录制的宏
Sub Graph()
Cells.Select
Selection.Copy
ActiveWindow.ActivateNext
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Sheet2").Name = "04 08 2017"
Cells.Select
ActiveSheet.Paste
ActiveWindow.ActivateNext
End Sub
答案 0 :(得分:2)
正如@CLR已经提到的那样,您需要打开一个工作簿来将工作表粘贴到其中。
以下内容可行,但请注意,这只是一个示例,而不是一个完整的解决方案。
您仍然至少需要对...执行正确的错误处理。
如果导致错误,未实现错误处理可能会导致未确定的条件。
Option Explicit 'first line in your module forces correct variable declare.
Public Sub Graph()
Application.ScreenUpdating = False 'Disable screenupdating
'Open destination workbook
Dim DestWorkbook As Workbook
Set DestWorkbook = Workbooks.Open(Filename:="C:\YourPathHere\Workbook2.xlsx")
With DestWorkbook
'Copy ActiveSheet
ThisWorkbook.ActiveSheet.Copy After:=.Sheets(.Sheets.Count)
'Instead of copying the ActiveSheet I recommend to copy a specific sheet by name
'ThisWorkbook.Worksheets("YourSourceSheetName").Copy After:=.Sheets(.Sheets.Count)
'Rename last sheet (the one we inserted above)
.Sheets(.Sheets.Count).Name = "04 08 2017"
'Close and save workbook2
.Close SaveChanges:=True
End With
Application.ScreenUpdating = True 'Enable screenupdating
End Sub