即使它有公式,如何检查单元格是否为空白

时间:2013-02-27 07:11:56

标签: excel vba excel-vba

   Application.WorksheetFunction.SumIf(_
     sht_store.Range(Cells(k, 12), (k, lcol)),_
     "       <>",_
     sht_store.Range(Cells(5, 12), Cells(5, lcol)))

如果单元格是非空的,我写了这段代码来总结值。但是这不起作用,因为单元格可能是空白但仍然可能有公式。

我无法更改模块中的任何其他代码..有什么方法可以给出其他条件以便总结非空白(而不是“&lt;&gt;”)?

2 个答案:

答案 0 :(得分:2)

在VBA中,您可以使用

  • IsEmpty表示空单元格
  • 检查Cell是否有公式,

代码:

Option Explicit 

Function IsFormula(ByRef wscell As Range) As Boolean 
    IsFormula = wscell.HasFormula 
End Function 

在Excel中,您可以使用

因此,在您的情况下,请检查:

  1. 检查Cell是否有公式
  2. 然后检查它是否为IsNull,没有空格。
  3. 之后您可能会使用SumIF。无论公式如何,如果单元格确实为空/无,则返回。

    Function izNull(ByRef rng As Range) As Boolean
     If Trim(rng.Value) = "" Then
        izNull = True
     End If
    End Function
    

答案 1 :(得分:0)

我使用.Text属性:

<强> Cells([rowindex],[columnindex]).Text = ""