【发布时间】:2016-02-22 16:58:59
【问题描述】:
如何在 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 行结束,它应该选择单元格 B2 到 B100,就像 ctrl+shift+down 一样。
选择单元格后,我想复制它们并将它们作为值粘贴到单元格 B14 的 Sheet2 中。我知道将.Select 放在(xlDown) 之后会帮助我做到这一点,但是我无法复制单元格。此外,粘贴到另一张纸上也不起作用。
【问题讨论】:
-
录制宏,然后查看Excel生成的源代码。它应该为您提供所需的一切。
-
另外,这不是您的问题,但是您可以通过简单地将两个范围的值设置为相等来跳过复制/粘贴(从而避免剪贴板)。 (当您只需要值时,这很有效)。即您帖子中的代码也可以写为
[range you want to fill] = [range whose values you want to copy],或Sheets("Sheet2").Range("B14").Value = Sheets("Sheet1").Range("B2").Value