我想编辑此宏来覆盖另一个工作簿中的先前数据而不提示。见附件。任何帮助将不胜感激。
Sub AV()
Workbooks.Open Filename:="T:\Cleveland\Avon\Monthly Sales\Monthly Sales 2018.xls"
Windows("Sales_By_Day_Location Analysis.xlsm").Activate
Sheets("AV").Select
Range("A1:AC88").Copy
Windows("Monthly Sales 2018.xls").Activate
Sheets("Avon").Select
Range("A1:D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False 'esp
End Sub
答案 0 :(得分:1)
根据John的评论,在稍微整理一下代码之后,我相信下面的代码会像你期望的那样:
Sub AV()
Application.DisplayAlerts = False
Workbooks.Open Filename:="T:\Cleveland\Avon\Monthly Sales\Monthly Sales 2018.xls"
Workbook("Sales_By_Day_Location Analysis.xlsm").Worksheets("AV").Range("A1:AC88").Copy
Workbook("Monthly Sales 2018.xls").Sheets("Avon").Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False 'esp
Application.DisplayAlerts = True
End Sub
您应该尝试不使用Activate或Select语句。此外,您的复制范围比粘贴范围大很多,因此为了这个答案,我将粘贴范围更改为A1。
如果您想保存工作簿并在没有提示的情况下关闭它,您可以执行以下操作:
Workbook("Monthly Sales 2018.xls").Close SaveChanges:=True