79

VBA を使用して、セルが特定の情報を持つ別のセルから空であるかどうかを確認するにはどうすればよいですか?

例えば:

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

C1 = 「製品スペシャル」

例のイラスト

For Eachさらに、でループを使用するにはRangeどうすればよいですか?また、他のセルに値を返すにはどうすればよいですか?

4

3 に答える 3

81

IsEmpty()次のような関数を使用できます。

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

次を使用することもできます。

If ActiveCell.Value = vbNullString Then ...
于 2012-11-13T12:40:49.763 に答える
23

IsEmpty()それを確認する最も簡単な方法です。

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

また、次の方法でセルを確認できます。

count()

counta()

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

于 2012-11-13T12:52:20.407 に答える
11

このサイトでは、メソッドを使用しています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 番目のステップでは、同じデータを持つすべての行が削除されます。

于 2012-11-13T12:23:29.357 に答える