在运行宏时,我得到了错误1004:
区块引号“运行时错误'1004':由于复制区域和粘贴区域大小不同,您不能在这里粘贴它。请选择粘贴区域中的一个单元格或相同大小的区域,然后再试着粘贴。”
我只选择一个单元格,不知道为什么会发生错误。宏是:
Range("AD28").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.Offset(0, 6)).Select
Selection.Copy
Sheets("DadosPart").Select
Range("B4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False '(HERE IS THE ERROR)
有人知道怎么修吗?
发布于 2020-11-05 14:14:43
如果Selection.End(xlDown)
选择最后一个单元格,则会得到此错误,因为您复制了多个单元格。无法在最后一个单元格中粘贴范围,因为这超过了Excel工作表的行数。
查找您使用的最后一行(使用xlDown
)的方法是不可靠的。若要查找最后使用的行,请使用以下内容:
Cells(Rows.Count, "B").End(xlUp) 'find last used row in column B
也不要使用.Select
--这是一个very bad practice。
Dim wsSource As Worksheet 'define your sheet
Set wsSource = ThisWorkbook.Worksheets("Sheet1") 'adjust your sheet name
wsSource.Range(wsSource.Range("AD28"), wsSource.Cells(wsSource.Rows.Count, "AD").End(xlUp)).Resize(0, 7).Copy
Dim wsDest As Worksheet 'define your sheet
Set wsDest Source = ThisWorkbook.Worksheets("DadosPart")
wsDest.Cells(wsDest.Rows.Count, "B").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
https://stackoverflow.com/questions/64698518
复制相似问题