我怎样才能在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可以帮助我做到这一点但是它不会让我复制。粘贴到另一张纸也不起作用。
答案 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