首页 文章

Excel VBA清除内容

提问于
浏览
2

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

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

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

4L  
4L  
4L  


4L

Note: 上面col中的两个空单元格是TRUE条件的结果(条目4和5,我输入了总共6个条目,两个是空单元格) . 因此,它们是有效的 . (让我打电话给上面的col "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

    请尝试以下示例代码,它应该工作..

    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) 中你没有给出像 "" 这样的输出,它会让你空白 . 请更新它,然后尝试:)

  • 0

    试试这个

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

相关问题