VBA 到 select 范围,然后调整范围大小

VBA to select range and then resize range size

我需要 select 给定范围内的所有值,然后添加 3 行。

这是我的代码,但我似乎无法弄清楚如何让 resize 工作。我收到运行时错误 1004。

基本上,我需要 select 从 C4 向下的所有值,然后向该范围添加 3 个额外的行。有两个空白单元格,然后是一个总单元格(请参阅下面的示例数据)。

Sub Resize_Range()

Range(Range("C4"), Range("C4").End(xlDown)).Resize(3, 0).Select

End Sub



Cell    Value
C4      Animal
C5      Dog
C6      Cat
C7      Panda
C8      Horse
C9  
C10 
C11     Total

不要使用 Resaize,因为它会将范围调整为该大小而不是添加行。

只需将 3 添加到使用偏移量找到的最后一行:

Range(Range("C4"), Range("C4").End(xlDown).Offset(3,0)).Select

我假设这只是为了将来使用,但请记住使用 .Select 会减慢代码速度并且可以跳过 99% 的时间。

另外请记住,为所有范围对象分配父系关系很重要,因此 VBA 不会默认为 activesheet。

With Worksheets("Sheet1")
     .Range(.Range("C4"), .Range("C4").End(xlDown).Offset(3,0)).Value = "Test"
End With