VBA を使用して、セルが特定の情報を持つ別のセルから空であるかどうかを確認するにはどうすればよいですか?
例えば:
A:A = "product special" かつ B:B が null の場合
C1 = 「製品スペシャル」
For Each
さらに、でループを使用するにはRange
どうすればよいですか?また、他のセルに値を返すにはどうすればよいですか?
IsEmpty()
次のような関数を使用できます。
...
Set rRng = Sheet1.Range("A10")
If IsEmpty(rRng.Value) Then ...
次を使用することもできます。
If ActiveCell.Value = vbNullString Then ...
IsEmpty()
それを確認する最も簡単な方法です。
IsNull()
同様の解決策のように思えますが、Null をセルに割り当てる必要があることに注意してください。細胞内で本質的に作成されるわけではありません。
また、次の方法でセルを確認できます。
count()
counta()
Len(range("BCell").Value) = 0
このサイトでは、メソッドを使用しています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 番目のステップでは、同じデータを持つすべての行が削除されます。