Excel VBA清除内容

时间:2016-02-03 12:32:00

标签: excel-vba vba excel

我在excel表中有一列包含IF条件,即

=If(Cond 1 is TRUE, X, Y)

现在,在使用此条件后,我在列中获得了某些值。可以考虑以下格式(这些是实际值):

4L  
4L  
4L  


4L 

注意:上面col中的两个空单元格是TRUE条件的结果(条目4和5,我输入了总共6个条目,两个是空单元格)。因此,它们是有效的。 (让我打电话给上面的“A”以供将来参考)

现在,这些空单元格实际上包含公式(if条件)。我希望 CLEARCONTENT 使用VBA,但它不起作用。

我正在尝试以下代码:

If ActiveSheet.Cells(row_no, col_no) = "" Then
ActiveSheet.Cells(row_no, col_no).ClearContents
End If

但这不起作用。我只想通过在整个列上运行循环来清除那些空单元格。 TEXT存在的列的单元格(即4L),应该被跳过,但是一旦代码遇到EMPTY CELL(实际上有IF条件),它应该清除内容并完成循环。因此,最终结果将与列“A”相同,唯一的区别是空单元格现在将为BLANK,即它们不会有任何IF条件。

我没有运行循环的问题,但我没有得到如何告诉VBA关于那个空单元格并清除它的内容。希望我能够发布一个清晰的查询。提前感谢。

此致 纳亚尔

2 个答案:

答案 0 :(得分:0)

请尝试以下示例代码:

Sub test()
'Assuming your data in column  A from A2

Set Rng = Range("A2", Cells(Rows.Count, 1).End(xlUp))

For Each cell In Rng
    If cell.Value = "" Then
    cell.ClearContents
    End If
Next

End Sub

在您的公式=If(Cond 1 is TRUE, X, Y)中,您没有提供任何输出,例如"" ,这会让您空白。请更新它,然后尝试:)

答案 1 :(得分:0)

试试这个

If (Range("A35").Value = "") Then
    Range("A35").Formula = ""
End If