如何在Excel VBA中删除范围的值

时间:2010-08-28 03:55:13

标签: excel excel-vba vba

我在excel中有一个名为“ValuesRange”的范围位于Cell“B5”。我有四个值:3,4,5,6分别位于B6,B7,B8,B9单元格。鉴于B10总是空白。如何逐个删除这四个值?这是我使用的代码:

Dim startRange as Range


Set startRange= Range("ValuesRange").offset.(1,0)

While Not IsEmpty(startRange)
 startRange.value= " "
 startRange=startRange(1,0)
Wend 

此代码不起作用。它的作用是删除第一个值(3)然后用数字4替换它并继续在无限循环中执行。 请帮我修复这段代码。 非常感谢!

2 个答案:

答案 0 :(得分:0)

这是一种方式:

Public Function ClearCellsBelowValuesRange()
Dim Rng As Excel.Range, offset As Integer
    Set Rng = ThisWorkbook.Worksheets("Sheet1").Range("ValuesRange")
    offset = 1
    Do
        Rng.offset(offset, 0).Value = ""
        offset = offset + 1
    Loop Until IsEmpty(Rng.offset(offset, 0).Value)
End Function

答案 1 :(得分:0)

如果您只想删除值,可以尝试:

startRange.Select
Selection.ClearContents