ActiveSheet.UsedRange.Columns.Count - 8 qu'est-ce que cela signifie?
ce n'ActiveSheet.UsedRange.Les colonnes.Comte - 8 de moyenne en vba?
Comment vba savoir la usedRange?
source d'informationauteur user1009698
Vous devez vous connecter pour publier un commentaire.
Voici la définition exacte de
UsedRange
(Référence MSDN) :Donc, fondamentalement, que cette ligne n'est :
.UsedRange
-> "Dessine" une boîte autour de l'extérieur de la plupart des cellules avec le contenu à l'intérieur..Columns
-> Sélectionne l'ensemble des colonnes de ces cellules.Count
-> Retourne un entier correspondant au nombre de colonnes il y a (dans cette sélection)- 8
-> Soustrait 8 de la précédente entier.Je suppose VBA calcule la UsedRange par la constatation de la non-cellules vides de la plus basse et la plus élevée des valeurs de l'indice.
Le plus probable, vous obtenez une erreur parce que le nombre de lignes dans votre gamme est plus petit que 3, et, par conséquent, le nombre renvoyé est négatif.
BernardSaucier a déjà donné une réponse. Mon post n'est pas une réponse mais une explication des raisons pour lesquelles vous ne devriez pas être à l'aide de
UsedRange
.UsedRange
est très peu fiable, comme indiqué ICIPour trouver la dernière colonne qui contient des données, l'utilisation
.Find
et puis soustraire.Semble que vous voulez déplacer. Essayez ceci:
résultats....
Si vous voulez déplacer cette sélection de 3 lignes jusqu'alors essayez cette
est-ce que...
Je pense que si vous essayez:
avec une montre sur
a
vous verrez il y a une différence.UsedRange représente non seulement les cellules non vides, mais aussi les cellules mises en forme sans aucune valeur. Et c'est pourquoi vous devez être très vigilant.