删除激活并在复制命令上选择 - 1004错误

时间:2018-03-23 09:59:33

标签: excel vba excel-vba

我正在尝试清理我的代码并删除所有激活,并从我的新手使用宏录制器中选择那里。就在我认为我理解某事的时候,显然我没有。

我宏中的这段代码完美无缺:

Worksheets(DEName).Activate
Range("A13").Select
Range(Selection, Selection.SpecialCells(xlLastCell)).Copy
Worksheets(CrunchName).Activate
Range("A1").PasteSpecial (xlPasteValues)

所以,我认为我会聪明并且收紧它。但是,我这样做会在复制行上产生1004错误:

Worksheets(DEName).Range("A13", Range("A13").SpecialCells(xlLastCell)).Copy
Worksheets(CrunchName).Range("A1").PasteSpecial (xlPasteValues)

对我所做错的任何帮助和/或解释都将不胜感激。

3 个答案:

答案 0 :(得分:0)

在使用范围时包括里面的工作表参考(1这里是DEName,2是CrunchName)以及外面

SELECT t1.A, t1.B
  FROM table1 t1 INNER JOIN table2 t2
    ON t2.F IN (t1.C, t1.D, t1.E);

答案 1 :(得分:0)

或只设置一个范围(" A13")

Worksheets(DEName).Range("A13").SpecialCells(xlLastCell)).Copy
Worksheets(CrunchName).Range("A1").PasteSpecial (xlPasteValues)

在此处查看更多示例https://stackoverflow.com/a/34886033/4539709

How to avoid using Select in Excel VBA

答案 2 :(得分:0)

为什么你有两次Range("A13")

Worksheets(DEName).Range("A13").SpecialCells(xlLastCell)).Copy

看看是否有效。