12

ExcelでVBAを使用して、下のセルが空かどうかを確認するにはどうすればよいですか?特定の範囲のすべての値を合計したいのですが、以下のセルが空でない場合に限ります。

それはVBAまたは他の方法でどういうわけか可能ですか?

例:

4 2 3 2 1
2   3 1

合計は次のようになります:4 + 3 + 2=9。

4

4 に答える 4

14

この簡単なコードを試してください

If IsEmpty(ActiveCell.Offset(1, 0)) Then
'your code here
End If
于 2012-04-22T17:52:33.340 に答える
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
于 2012-04-21T22:45:38.920 に答える
2

データが他のデータベースからエクスポートされるときに、「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
于 2014-01-14T02:19:47.970 に答える
0

必死の人のために:Excelセルが空のように見えることもありますが、検査すると、スペース文字などの目に見えないものが含まれている可能性があります。そして、これらすべてのIsEmpty関数とIsNull関数は役に立ちません。

于 2022-02-15T13:58:19.603 に答える