Supprimer des Lignes Entières Basées sur des Valeurs de Cellule
Je veux dans Excel (2003) pour prendre un importées de vidage des données et le format pour en faire un rapport. La plupart de ce que j'ai fait a impliqué l'enregistrement d'une macro, puis personnaliser le code en cas de besoin. J'ai un endroit qui exige le code pur.
J'ai une colonne TRIÉE (D) que la liste des types d'incidences (par exemple: véhicule des incendies, des coups, des morsures d'animaux, etc). Je voudrais lire chaque valeur de la colonne D et, si elle n'est PAS l'un de plusieurs valeurs, nous sommes à la recherche pour, supprimer la ligne entière.
J'ai essayé plusieurs versions de code (que j'ai trouvé en ligne) et le code qui produit les résultats les plus proches de ce que j'ai besoin d'ressemble à ceci:
Range("D:D").Select
Dim workrange As Range
Dim cell As Range
Set workrange = Intersect(Selection, ActiveSheet.UsedRange)
For Each cell In workrange
If ActiveCell.Value <> "VFIRE" _
And ActiveCell.Value <> "ILBURN" _
And ActiveCell.Value <> "SMOKEA" _
And ActiveCell.Value <> "ST3" _
And ActiveCell.Value <> "TA1PED" _
And ActiveCell.Value <> "UN1" _
Then ActiveCell.EntireRow.Delete
Next cell
End Sub
Ce code supprime une majorité de la liste (~100 lignes de l'original 168), mais c'est seulement de supprimer les lignes jusqu'à ce qu'il frappe à la première valeur de quelque chose que je veux. Par exemple, ce courant de vidage des données n'ont pas toutes les valeurs de "ILBURN" ou "SMOKEA", mais lors de la première occurrence de "ST3" se produit, la macro s'arrête. Il n'y a pas d'erreur généré, il semble juste de penser que c'est fait.
Que dois-je ajouter pour appeler la macro dans la liste entière?
La logique en commençant par le bas de sens, mais après avoir testé plusieurs versions de code écrit, j'ai trouvé en ligne, je ne suis pas encore capable de faire ce travail. Pourriez-vous me donner quelques suggestions (à l'aide de l'exemple ci-dessus)? Je vous remercie.
Tim, j'ai été en mesure de trouver un code sur rondebruin du site web qui ont travaillé. Merci beaucoup pour l'idée de chercher à travailler à partir du bas vers le haut.
OriginalL'auteur user3613124 | 2014-05-07
Vous devez vous connecter pour publier un commentaire.
Je suis tout au sujet de la brièveté.
OriginalL'auteur tbur
Je suis d'accord avec @Tim_Williams que vous avez besoin de travailler à reculons, comme cela semble être la question. Je voudrais faire quelque chose comme cela.
OriginalL'auteur Adach1979
Je l'utilise dans un de mes tâches, où comme je l'avais tableau de données d'essai de 100 itération, ce qui je veux de la garniture à 10 première itération, j'ai donc utilisé le "itération# > 10" des cellules à supprimer toute la ligne.
J'ai de l'utilisateur de remplacer le & voyage à extraire le numéro de la chaîne, et a introduit le si = "" condition d'ignorer les lignes vides. J'ai eu ligne vide séparant à l'ensemble de données de test.
OriginalL'auteur mdkarthikeyan