Moe*_*Moe 4 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
Run Code Online (Sandbox Code Playgroud)
所以我要做的是复制B列中的所有内容,而不是整列本身.就像条目在第100行结束一样,它应该停在那里,就像ctrl + shift + end工作一样.然后复制那里的任何内容并将其粘贴在sheet14的b14中作为值,因为这是我需要的特定位置.我知道在(xldown)之后输入.select可以帮助我做到这一点但是它不会让我复制.粘贴到另一张纸也不起作用.
您将使用的方法是:
Sheets("Sheet1").Range(Sheets("Sheet1").Range("B2"),Sheets("Sheet1").Range("B2").End(xlDown)).Copy
Run Code Online (Sandbox Code Playgroud)
Range()对象的工作方式如下 Range(Start Cell, End Cell)
所以你用第一个细胞锚定Sheets("Sheet1").Range("B2").
然后锚定End Cell Sheets("Sheet1").Range("B2").End(xlDown)).
现在另一种键入较少的方法是使用With块:
With Sheets("Sheet1")
.Range(.Range("B2"),.Range("B2").End(xlDown)).Copy
End with
Run Code Online (Sandbox Code Playgroud)