web-dev-qa-db-ja.com

Excel:VBAでセルが空かどうかを確認する方法

重複している可能性があります:
下のセルが空かどうか調べるためにVBAを使う

VBAを介して、特定の情報を含むセルが別のセルから空かどうかを確認する方法を教えてください。

例えば:

A:A = "product special"かつB:Bがnullの場合

C1 = "製品特別"

Illustration of example

さらに、どのようにしてRangeFor Eachループを使用することができますか、そしてどのように他のセルの値を返すことができますか。

58
Regis da Silva

あなたはIsEmpty()関数をこのように使うことができました:

...
Set rRng = Sheet1.Range("A10")
If IsEmpty(rRng.Value) Then ...

次のようにすることもできます。

If ActiveCell.Value = vbNullString Then ...

私はVBAプログラマではありませんので、気にしないでください!

それが役に立てば幸い

55
Sylca

IsEmpty()はそれを確認する最も早い方法です。

IsNull()は同様の解決策のように思えますが、Nullをセルに割り当てる必要があることに注意してください。それは本質的にセル内で作成されていません。

また、セルを確認することができます。

count()

counta()

Len(range("BCell").Value) = 0

20
Deafdan

This siteはisEmpty()というメソッドを使います。

編集:URLが無効になる前に、サイトから取得されたコンテンツ。

Worksheets("Sheet1").Range("A1").Sort _
    key1:=Worksheets("Sheet1").Range("A1")
Set currentCell = Worksheets("Sheet1").Range("A1")
Do While Not IsEmpty(currentCell)
    Set nextCell = currentCell.Offset(1, 0)
    If nextCell.Value = currentCell.Value Then
        currentCell.EntireRow.Delete
    End If
    Set currentCell = nextCell
Loop

最初の手順では、Sheet1の最初の列のデータが並べ替えられます。 2番目のステップでは、同じデータを持つすべての行が削除されます。

10
reporter