Excel.Application.Les cellules.SpecialCells(xlCellTypeLastCell) de retour en bas de la feuille de calcul, n'est pas la dernière cellule de données

Je suis en train d'écrire une méthode en VBA dans Excel 2013 à boucle à travers les lignes de deux feuilles de calcul et de comparer le texte dans une colonne de chaque. Cependant, quand je suis en boucle, je trouve que le code est une boucle dans la feuille de calcul entière, et pas seulement les lignes avec des données. Excel.Sheets("Feuil1").Les cellules.SpecialCells(xlCellTypeLastCell) renvoie une cellule dans la colonne appropriée, mais la ligne est la dernière ligne de la feuille (1048576), plutôt que la dernière ligne avec des données (1951). J'ai écrit un chèque de cellules vides dans le code (puisque je ne peux pas être sûr que chaque ligne est utilisé), de sorte qu'il ne cause pas un problème, cela signifie simplement que chaque fois qu'il s'exécute, il faut beaucoup plus qu'il ne le devrait. Et comme cette méthode est appelée à partir de l'intérieur de Worksheet_Change, il ralentit les choses.

Généralement, lors de la "dernière" de la cellule qui est rapporté à tort, j'avais trouvé qu'un enregistrer généralement fixe, et si cela ne fonctionne pas, puis de supprimer les lignes (et pas seulement le contenu, mais l'ensemble de lignes) de la mis-communiqué de la cellule de retour à la dernière cellule et puis fonctionne l'enregistrement. Cependant, dans ce cas, il n'est pas aider.

J'ai regardé à travers Google sans succès. J'aimerais ne pas avoir à copier toutes les données et le code de ce classeur et en un nouveau si je peux l'aider. Quelqu'un a des suggestions?

  • Trouver la dernière ligne est une pierre angulaire de la programmation VBA. Voici, ce que je considère au moins, de façon définitive l'écriture-up sur la recherche de la dernière ligne: stackoverflow.com/questions/11169445/...
  • Merci pour l'info; voir mon commentaire sur Christophe réponse ci-dessous. Aussi, une idée de pourquoi c'était downvoted? Ce n'est pas un doublon de cette question; ma question est de savoir comment fixer xlCellTypeLastCell, pas comment le faire avec une solution de contournement? Et si c'est downvoted, pourquoi ne pas ceci qui a posé la même question, avec une "magie fixe lui-même, je vais poster en arrière si cela se produit à nouveau" résolution?
InformationsquelleAutor DarkMoon | 2014-08-04