Excel VBA - 简化记录代码时出现运行时错误1004
Excel VBA - runtime error 1004 when simplifying recorded code
我有一个录制的宏,我试图通过将多个激活和 select 语句放在一行中来简化它,但这会导致运行时错误。
这不是严重问题,但我只是想了解发生了什么。这是我的初始代码片段(它前面是过程中的复制片段):
ThisWorkbook.Activate
Sheets("MS Act Report").Select
Range("G1").Select
ActiveSheet.Paste
这是我的简化代码:
ThisWorkbook.Activate
Sheets("MS Act Report").Range("G1").Select
ActiveSheet.Paste
当 运行 这个我得到一个
runtime error '1004': Select method of Range class failed
您只能在活动 sheet 上 select 个范围。如果 "MS Act Report" 不是活动的 sheet,则不能对其单元格发出 .select 命令。为了简化代码,不要复制粘贴,只需使范围相等即可。
Thisworkbook.WorkSheets("MS Act Report").Range("G1:I5").Value= _
ActiveWorkbook.Worksheets("Whatever").Range("a1:c5").Value
部分推荐读物:How to avoid using select
我有一个录制的宏,我试图通过将多个激活和 select 语句放在一行中来简化它,但这会导致运行时错误。
这不是严重问题,但我只是想了解发生了什么。这是我的初始代码片段(它前面是过程中的复制片段):
ThisWorkbook.Activate
Sheets("MS Act Report").Select
Range("G1").Select
ActiveSheet.Paste
这是我的简化代码:
ThisWorkbook.Activate
Sheets("MS Act Report").Range("G1").Select
ActiveSheet.Paste
当 运行 这个我得到一个
runtime error '1004': Select method of Range class failed
您只能在活动 sheet 上 select 个范围。如果 "MS Act Report" 不是活动的 sheet,则不能对其单元格发出 .select 命令。为了简化代码,不要复制粘贴,只需使范围相等即可。
Thisworkbook.WorkSheets("MS Act Report").Range("G1:I5").Value= _
ActiveWorkbook.Worksheets("Whatever").Range("a1:c5").Value
部分推荐读物:How to avoid using select