2010-08-28 84 views
0

我在位于单元格“B5”的excel中名为“ValuesRange”。我有四个值:3,4,5,6分别位于单元格B6,B7,B8,B9。鉴于B10始终是空白的。怎么能一个一个地删除这四个值?以下是我使用的代码:如何删除Excel中的范围值VBA

Dim startRange as Range 


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

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

此代码不起作用。它所做的是删除第一个值(3),然后将其替换为第4个值,并在无限循环中继续这样做。 请帮我解决这段代码。 非常感谢!

回答

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 
+0

完美!非常感谢你的帮助! – guest1 2010-08-28 06:02:07

0

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

startRange.Select 
Selection.ClearContents