当范围取决于变量时,如何删除选定的单元格范围?

时间:2014-04-23 19:30:28

标签: excel vba excel-vba excel-2010

我想删除G123:P10000范围内的单元格,但123G123的值不断变化,因此如何在提供范围时提供变量。

下面可以使用一次,但我想根据名为'count'的变量中的值多次使用它,每次运行都会更改,以便只从该范围中删除

Range("G123:P10000").Select
Selection.ClearContents

我尝试了类似下面的内容,但它不起作用

count = ActiveSheet.Range("A1").End(xlDown).Row
Range("G$count:P10000").Select
Selection.ClearContents

1 个答案:

答案 0 :(得分:0)

您需要的是范围的.Offset().Resize()修改。

...
count = CountRows(ActiveSheet.Range("A1"))
ActiveSheet.Range("G1").Offset(count,0).Resize(10000-count,1).ClearContents

Public Function CountRows(ByVal r As Range) As Long
    If IsEmpty(r) Then
        CountRows = 0
    ElseIf IsEmpty(r.Offset(1, 0)) Then
        CountRows = 1
    Else
        CountRows = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count
    End If
End Function