在同一列中复制和粘贴

时间:2018-01-31 15:48:44

标签: excel vba excel-vba

我目前无法复制列的内容并将其粘贴到同一列的末尾。例如,如果列内容分别是单元格C1:C5中的红色,橙色,蓝色,绿色,紫色,则我们喜欢行C6:C10分别具有相同的内容红色,橙色,蓝色,绿色和紫色。我在使用以下代码时遇到问题

时遇到了问题
  

此对象不支持此属性或方法

。任何帮助将不胜感激!

Dim New_Last As Long, myRng As Range
New_Last = Sheets("Project").UsedRange.Rows.Count

With Sheets("Project")
    Set myRng = Sheets("Project").Range("Z2:Z" & New_Last)
    Selection.Copy Range("z2:z" & New_Last)
    Selection.Copy
    Selection.Offset(New_Last, 0).Paste
End With

2 个答案:

答案 0 :(得分:1)

我相信这就是你想要的:

Dim New_Last As Long, myRng As Range
New_Last = Sheets("Project").UsedRange.Rows.Count

With Sheets("Project")
    Set myRng = .Range("Z2:Z" & New_Last)
    myRng.Copy Range("Z" & New_Last + 1)
End With

答案 1 :(得分:0)

我相信你应对设定范围但不使用它的问题;你有一个"选择"复制,可能在选择范围之外,例如,选择了50行,但已指定粘贴到40行。

你也遇到了Z1:Z& new_last粘贴到Z2:Z& new_last的问题,这是同样的问题。

With Sheets("Project")
    Set myRng = .Range("Z2:Z" & New_Last) 
    myRng.Copy .Range("Z" & New_Last + 1)
End With

简化您只是应对并粘贴到定义的范围;您可以将一个简单的单元格位置粘贴到最后一行。