将偏移行添加到给定的范围。 Excel VBA

我有一个variables,在开始时被设置为一个给定的范围。

我想有一个循环语句,将从给定范围的末尾开始下一行,并将其添加到该范围。

即:

myRows = Range(1:10) For Each cell in myRows If cell.Value > 2048 Then myRows = myRows + myRows.Offset(1, 0) ---This is where i need help--- 

基本上我怎么自动增量范围每次循环运行。

编辑:

另外我将如何添加到范围的前面。 以及从范围的背面带走。

范围(1:10)不隐藏范围(11:20)隐藏

我想添加一个隐藏的范围,从隐藏的范围,因此它:

范围(1:11)不隐藏范围(12:20)隐藏

您将myRows作为Variant数据types。 您需要将其声明为Range对象。

Dim myRows as Range

那么你将需要使用Set关键字来分配一个Range对象)。

Set myRows = Range("1:10")

然后,使用范围.Resize方法:

Set myRows = myRows.Resize(myRows.Rows.Count+1, myRows.Columns.Count)

否则,如果你需要维护myRowstypes变种,让我知道,我可以重新工作。

你也可以使用

 Set myRows = Union(myRows, myRows.Offset(1, 0)) 

编辑:

你自找的!

从通用范围中删除一行

 Set myRows = RemoveRowFromRange(myRows, 10) ... Function RemoveRowFromRange(ByVal Range As Range, row_number As Long) As Range With Range.Worksheet Select Case row_number Case 1 Set Range = Intersect(Range, .Range(.Rows(2), .Rows(.Rows.Count))) Case .Rows.Count Set Range = Intersect(Range, .Range(.Rows(1), .Rows(.Rows.Count - 1))) Case Else Set Range = Union(Intersect(Range, .Range(.Rows(1), .Rows(row_number - 1))), Intersect(Range, .Range(.Rows(row_number + 1), .Rows(.Rows.Count)))) End Select End With Set RemoveRowFromRange = Range End Function