gpt4 book ai didi

vba - 从主工作簿复制整个工作表并粘贴到另一个工作簿中

转载 作者:行者123 更新时间:2023-12-03 03:29:45 24 4
gpt4 key购买 nike

我每天需要将整个电子表格从主工作簿复制到另一个工作簿(workbook2)。然后,我需要使用工作簿 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

最佳答案

正如 @CLR 已经提到的,您需要打开一个工作簿以将工作表粘贴到其中。

类似下面的内容可以工作,但请注意,这只是一个示例,而不是完整的工作解决方案。

您至少仍然需要实现适当的错误处理......

  1. 在打开工作簿时捕获错误,并且该工作簿受到保护(因为已被其他用户打开)或错误的文件/路径。
  2. 重命名工作表时捕获错误,因为名称必须是唯一的。重新使用现有名称将引发错误。

如果引发错误,不实现错误处理可能会导致不确定的情况。

<小时/>
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

关于vba - 从主工作簿复制整个工作表并粘贴到另一个工作簿中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46234765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com