使用VBA来检查下面的单元格是否为空
如何在Excel中使用VBA来检查下面的单元格是否为空? 我想总结一个特定的范围内的所有值,但只有,如果下面的单元格不是空的。
用VBA或其他方式可以做到这一点吗?
例:
4 2 3 2 1 2 3 1
总和将是:4 + 3 + 2 = 9。
我会为此推荐一个公式
式
=SUMPRODUCT((A1:E1)*(A2:E2<>""))
快照
如果你还想要VBA的话
VBA
Option Explicit Sub Sample() Dim rng As Range Dim Cl As Range Dim tot As Long Set rng = Range("A1:F1") For Each Cl In rng If Len(Trim(Cl.Offset(1))) <> 0 Then tot = tot + Cl.Value Next Debug.Print tot End Sub
事实上,你可以在VBA中有许多版本。 您也可以评估上述公式。 例如
Option Explicit Sub Sample() Debug.Print Evaluate("=SUMPRODUCT((A1:E1)*(A2:E2<>""""))") End Sub
试试这个简单的代码
If IsEmpty(ActiveCell.Offset(1, 0)) Then 'your code here End If
从其他数据库导出数据时,使用“IsEmpty”时遇到了一些问题。 这是我开发的function:
Function IsVacant(TheVar As Variant) As Boolean 'LeandraG 2010 IsVacant = False If IsEmpty(TheVar) Then IsVacant = True If Trim(TheVar) = "" Then IsVacant = True If Trim(TheVar) = "'" Then IsVacant = True End Function