在VBA中按ctrl + shift + down的代码

时间:2016-02-22 16:59:00

标签: excel vba excel-vba

我怎样才能在excel vba上进行ctrl + shift + down。我还想知道然后将其粘贴为特殊值。我目前拥有的代码就是这个

Sub CopyCol()

    Sheets("Sheet1").Range("B2").End(xlDown).Select.Copy

    Sheets("Sheet2").Range("B14").PasteSpecial xlPasteValues

End Sub

所以我想要做的是复制B列中的所有内容,而不是整列本身。就像条目在第100行结束一样,它应该停在那里,就像ctrl + shift + end工作一样。然后复制那里的任何内容并将其粘贴在sheet14的b14中作为值,因为这是我需要的特定位置。我知道在(xldown)之后输入.select可以帮助我做到这一点但是它不会让我复制。粘贴到另一张纸也不起作用。

1 个答案:

答案 0 :(得分:7)

您将使用的方法是:

Sheets("Sheet1").Range(Sheets("Sheet1").Range("B2"),Sheets("Sheet1").Range("B2").End(xlDown)).Copy

Range()对象的作用类似于Range(Start Cell, End Cell)

所以你用Sheets("Sheet1").Range("B2")锚定第一个单元格。

使用Sheets("Sheet1").Range("B2").End(xlDown))锚定结束单元格。

现在另一种键入较少的方法是使用With块:

With Sheets("Sheet1")
    .Range(.Range("B2"),.Range("B2").End(xlDown)).Copy
End with