2017-10-18 10 views
0

Bonjour, J'essaie de parcourir un long rapport qui supprime les suppressions.Boucle VBA: si la cellule contient une valeur spécifique, supprimez la ligne contenant la valeur et les 3 lignes suivantes.

La logique générale serait la suivante: si le script trouve la valeur "DELETE" dans la colonne B1, il devrait supprimer la plage "A1: I4". J'ai le script ci-dessous qui ne fonctionne évidemment pas. J'essaye de comprendre la syntaxe correcte pour une gamme sur plusieurs colonnes en utilisant la variable "X". Toute aide serait appréciée!

J'ai la boucle suivante:

Sub RemoveDel() 
lastrow = Cells(Rows.Count, "B").End(xlUp).Row 
For x = 1 To lastrow 

    If Range("B" & x).Value = "DELETE" Then Range("A" & x:"I" & x + 4)).ClearContents 

    Next x 
End Sub 
+0

Quelles erreurs obtenez-vous? Quel est votre problème ** exact **? En ce moment est difficile de vous aider avec les informations fournies .... S'il vous plaît clarifier! – cramopy

+0

Je reçois une "erreur de syntaxe" lorsque j'essaie d'exécuter la boucle ci-dessus. Je suis assez sûr que la syntaxe est fausse (après "Alors") mais je ne peux pas comprendre comment utiliser la bonne syntaxe avec la variable "x" ajoutée. – Rhyfelwr

+0

Vérifiez également vos parenthèses. – braX

Répondre

4

Je pense que vous venez de fixer cette partie et mettez le côlon dans les citations.

If Range("B" & x).Value = "DELETE" Then Range("A" & x & ":I" & x + 4)).ClearContents 

EDIT

Vous pouvez également utiliser "Cell" plutôt que Range pour le premier bit.

If Cells(x,"B").Value = ..... 

Cela fonctionne pour moi:

Sub RemoveDel() 
lastrow = Cells(Rows.Count, "B").End(xlUp).Row 
For x = 1 To lastrow 

    If Range("B" & x).Value = "DELETE" Then Range("A" & x & ":I" & x + 4).ClearContents 

Next x 
End Sub 
+0

Je n'ai jamais su que vous pouviez utiliser des lettres de colonne pour l'entrée de colonne sur 'Cellules (ligne, col)'! Apprendre quelque chose de nouveau chaque jour. –

+0

Le premier bit fonctionne à droite, c'est la partie après "Alors" qui ne fonctionne pas. Malheureusement, je reçois également une erreur de syntaxe lors de l'essai de votre version. – Rhyfelwr

+1

Juste remarqué qu'il semble y avoir un extra) à la fin avant. ClearContents. Essayez de supprimer ce réel rapide. – SuperStew