我在我的宏上执行此代码11次
Windows("LOFORM.xls").Activate
Sheets("Becke").Select
Range("A6:J25").Select
Selection.Copy
Windows("Comp Reform LO.xls").Activate
Sheets("Becke").Select
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
适用于所有不同的床单。我可以将它缩小,而不是让整个代码11与不同的工作表名称分开时间吗?
答案 0 :(得分:4)
这非常紧凑,但是因为它避免了所有选择,激活和使用夹板,它也会更快。
Windows("Comp Reform LO.xls").Sheets("Becke").Range("A6:J25") = _
Windows("LOFORM.xls").Sheets("Becke").Range("A6:J25")
如果您的代码中包含11次此代码,则应将其转换为自己的子代码,并将其称为CopyValues()
或其他内容。
或者如果代码11次相似但位置不同,您也可以传入工作簿和工作表参数:
Sub SampleCopyValues(DestinationWorkSheet As Worksheet)
DestinationWorkSheet.Range("A6:J25") = _
Windows("LOFORM.xls").Sheets("Becke").Range("A6:J25")
End Sub
然后你可以将其称为SampleCopyValues(Windows("Comp Reform LO.xls").Sheets("Becke"))