繁体   English   中英

Excel VBA清除内容

[英]Excel VBA Clear Contents

我在Excel工作表中有一个包含IF条件的列,即

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

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

4L  
4L  
4L  


4L 

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

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

我正在尝试以下代码:

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

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

我没有运行循环的问题,但是我没有得到如何将空单元告诉VBA并清除内容的方法。 希望我能够发布明确的查询。 在此先感谢。

问候纳亚尔

请尝试下面的示例代码,它应该可以工作。

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)您没有给出任何类似“”的输出,这将使您空白。 请更新它,然后尝试:)

也尝试一下

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM