第一次发布海报,我已经查看了其他responese的问题,但我需要验证代码。所以我在下面有这个代码,我很确定它是正确的,但目的地范围不是清除内容。我想要做的是将活动工作簿中的Range(" A:G")中的数据复制到另一个工作簿中的Range(" A:G")。但我需要清除目标范围内的内容,因为我只需要目标范围内最新的源范围。评论的部分是我知道在目的地范围内清除内容后我将使用的代码。
Sub CopytoRISKreport()
Dim Dest_file_name As String
Dim dest_wkbk As Workbook
Dest_file_name = "Q:\Co Risk Report\3 Month RISK Report.xlsm"
Set dest_wkbk = Workbooks.Open(Dest_file_name)
Application.DisplayAlerts = False
With dest_wkbk
Sheets("CO_HOLDS Import").Range("A1:G" & .Rows.Count).ClearContents
'Workbooks("Q:\Co Risk Report\CO Holds.xls").Select
'Selection.Worksheets("CO_HOLDS Import").Range("A:G").Copy
'dest_wkbk.Sheets("CO_HOLDS Import").Range("A:G").PasteSpecial Paste:=xlPasteValues
End With
End Sub
答案 0 :(得分:0)
您要求验证代码...这是一个已清理的版本。由于您粘贴了整个A:G列,因此您无需先清除它们。此外,您可以粘贴作为复制方法的一部分;这节省了一行代码。
Sub CopytoRISKreport()
Const Dest_file_name As String = "Q:\Co Risk Report\3 Month RISK Report.xlsm"
Const Source_file_name As String = "Q:\Co Risk Report\CO Holds.xls"
Dim dest_wkbk As Workbook
Dim Dest As Range
Dim source_wkbk As Workbook
Dim Source As Range
Set dest_wkbk = Workbooks.Open(Dest_file_name)
Set Dest = dest_wkbk.Worksheets("CO_HOLDS Import").Range("A:G")
Set source_wkbk = Workbooks.Open(Source_file_name)
Set Source = source_wkbk.Worksheets("CO_HOLDS Import").Range("A:G")
Source.Copy Dest
End Sub
注意:如果您关闭提醒,请务必稍后重新开启。
更新:修改了代码,以便打开源文件。