Использование VBA для проверки, пуста ли ячейка ниже
Как использовать VBA в Excel, чтобы проверить, пуста ли ячейка ниже или нет? Я хочу, чтобы сумма всех значений в определенном диапазоне, но только, если ячейка не пустая.
это как-то возможно с VBA или любым другим способом?
пример:
4 2 3 2 1
2 3 1
сумма будет: 4 + 3 + 2 = 9.
3 ответов
Я бы рекомендовал формулу для этого
формула
=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
У меня были некоторые проблемы с использованием только "IsEmpty", когда данные экспортируются из других баз данных. Это функция, которую я разработал:
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