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
我需要 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