che*_*run 9 excel vba excel-vba
如何在Excel中使用VBA来检查下面的单元格是否为空?我想要将特定范围内的所有值相加,但仅限于下面的单元格不为空.
这有可能用VBA或其他任何方式吗?
例:
4 2 3 2 1
2 3 1
Run Code Online (Sandbox Code Playgroud)
总和将是:4 + 3 + 2 = 9.
小智 12
试试这个简单的代码
If IsEmpty(ActiveCell.Offset(1, 0)) Then
'your code here
End If
Run Code Online (Sandbox Code Playgroud)
我会推荐一个公式
公式
=SUMPRODUCT((A1:E1)*(A2:E2<>""))
Run Code Online (Sandbox Code Playgroud)
快照

如果你还想要 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
Run Code Online (Sandbox Code Playgroud)
事实上,VBA 中可以有许多版本。您也可以评估上面的公式。例如
Option Explicit
Sub Sample()
Debug.Print Evaluate("=SUMPRODUCT((A1:E1)*(A2:E2<>""""))")
End Sub
Run Code Online (Sandbox Code Playgroud)