web-dev-qa-db-fra.com

Excel: Comment vérifier si une cellule est vide avec VBA?

Duplicate possible:
tilisation de VBA pour vérifier si la cellule ci-dessous est vide

Via VBA, comment puis-je vérifier si une cellule est vide d'une autre avec des informations spécifiques?

Par exemple:

Si A: A = "produit spécial" Et B: B est nul Alors

C1 = "produit spécial"

Illustration of example

De plus, comment utiliser une boucle For Each sur theRange et comment renvoyer la valeur dans l'autre cellule?

62
Regis da Silva

Vous pouvez utiliser la fonction IsEmpty() comme ceci:

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

vous pouvez aussi utiliser ce qui suit:

If ActiveCell.Value = vbNullString Then ...

Je ne suis pas un programmeur VBA, donc ça ne vous dérange pas?!

j'espère que ça aide

58
Sylca

IsEmpty() serait le moyen le plus rapide de vérifier cela.

IsNull() semblerait être une solution similaire, mais gardez à l'esprit que Null doit être affecté à la cellule; il n'est pas créé de manière inhérente dans la cellule.

En outre, vous pouvez vérifier la cellule en:

count()

counta()

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

20
Deafdan

This le site utilise la méthode isEmpty().

Éditer: le contenu saisi sur le site, avant que l'URL ne soit invalide.

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

Dans la première étape, les données de la première colonne de la feuille Sheet1 seront triées. Dans la deuxième étape, toutes les lignes contenant les mêmes données seront supprimées.

10
reporter