VBA: limites du tableau et erreur de débordement 6
-
14-11-2019 - |
Question
J'essaie d'obtenir les limites du tableau d'une feuille Excel en utilisant VBA. J'ai déjà fait cela en utilisant C #, mais maintenant je dois essayer de traduire ce code en VBA.
Un problème est que la syntaxe semble si différente que le code ne semble même pas similaire, même ou qu'il fait simplement la même chose! Je pense que je suis assez proche de comprendre les dimensions d'une table mais je comprends ça Run-time error '6': Overflow
message.
Voici le code:
Dim currentRow As Integer
Dim totalRow As Integer
Dim column As Integer
currentRow = 2
Do
ActiveCell.Offset(1, 0).Select
totalRow = totalRow + 1
Loop Until IsEmpty(ActiveCell.Offset(0, 1)) = False
L'erreur se produit une fois que cela est proche d'être terminé avec le Do loop
. J'ai lu une autre réponse du forum qui disait que VB est lent, et qu'une erreur potentielle est que le Do loop
va trop vite et obtient donc un débordement. Si tel est le cas, je ne sais pas comment le résoudre.
Quelqu'un a-t-il un moyen de résoudre le problème de débordement?
La solution
Utilisez la méthode .end de la gamme au lieu de boucler pour trouver la première cellule vide.
Autres conseils
Vous aimerez peut-être regarder USETRANGE. Essayer
Dim totalRow As Long
UsageRange: http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.usedRange(vs.80).aspx
Type de données: http://msdn.microsoft.com/en-us/library/aa164754(v=office.10).aspx