我试图在以前具有密码保护功能的工作簿的另一张工作表中运行粘贴值宏。
该宏在目标表中的值工作正常,但在其他出现错误runtime error '1004' - select method of range class failed的选项卡中却无法正常工作
我应该如何继续允许该宏从其他活动表运行?
Sub PasteSpecial_ValuesOnly()
Worksheets("ARF Table").Range("A2:AI13").Copy
'Error occurs below
**Worksheets("ARF Export").Range("A2:AI13").Select**
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Worksheets("ARF Export").Range("AK2").Value = Worksheets("ARF Export").Range("AD2").Value
End Sub
答案 0 :(得分:0)
您只需要目的地的左上角单元格。
您无需进行选择。直接转移价值的速度更快。
Sub PasteSpecial_ValuesOnly()
Worksheets("ARF Table").Range("A2:AI13").Copy
Worksheets("ARF Export").Range("A2").PasteSpecial Paste:=xlValues
Worksheets("ARF Export").Range("AK2").Value = Worksheets("ARF Export").Range("AD2").Value
End Sub
替代
Sub PasteSpecial_ValuesOnly()
with Worksheets("ARF Table").Range("A2:AI13")
Worksheets("ARF Export").Range("A2").resize(.rows.count, .columns.count) = .value
end with
Worksheets("ARF Export").Range("AK2").Value = Worksheets("ARF Export").Range("AD2").Value
End Sub