Excel VBA选择范围,然后调整范围大小

Excel VBA选择范围,然后调整范围大小,excel,vba,resize,range,Excel,Vba,Resize,Range,我需要选择给定范围内的所有值,然后添加3行 这是我的代码,但我似乎不知道如何使调整大小工作。我得到运行时错误1004 基本上,我需要选择C4以下的所有值,然后向该范围添加3行。有两个空白单元格,然后是一个总单元格(参见下面的示例数据) 不要使用“重新调整大小”,因为这样会将范围调整为该大小,而不会添加行 只需将3添加到使用偏移量找到的最后一行: Range(Range("C4"), Range("C4").End(xlDown).Offset(3,0)).Select 我假设这只是为了将来使用

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

这是我的代码,但我似乎不知道如何使
调整大小
工作。我得到运行时错误1004

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


不要使用“重新调整大小”,因为这样会将范围调整为该大小,而不会添加行

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

Range(Range("C4"), Range("C4").End(xlDown).Offset(3,0)).Select
我假设这只是为了将来使用,但请记住使用
。选择
会降低代码的速度,99%的时间可以跳过

还要记住,为所有范围对象指定父级非常重要,这样VBA就不会默认为activesheet

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

这么简单…谢谢!如何在不使用
的情况下删除范围。请选择
作为示例
Sub Resize_and Delete()将rng1设置为范围表(“Sheet1”)。选择rng1=Range(Range(“B5”)、Range(“B5”)。End(xlDown)。Offset(3,0))rng1。Delete Shift:=xlUp End Sub
此代码导致错误。我忘记将
set
添加到代码中,现在它可以
Sub Resize_并将rng1设置为范围表(“Sheet1”)删除.选择set rng1=范围(范围(“B5”)、范围(“B5”)。结束(xlDown)。偏移量(3,0))rng1。删除移位:=xlUp End Sub
With Worksheets("Sheet1")
     .Range(.Range("C4"), .Range("C4").End(xlDown).Offset(3,0)).Value = "Test"
End With