2010-09-03 14 views
3

Lors de l'utilisation ou de la définition des plages, certaines plages se comportent différemment des autres plages. Par exemple,Opérations de la plage de mots VBA semblent différentes

ActiveDocument.Range(10, 20).Select 
ActiveDocument.Tables(2).Cell(1, 1).Range(10, 20).Select 

La première ligne si OK et fonctionne comme prévu. La deuxième ligne produit une erreur sur l'instruction Range, bien qu'il semble que deux lignes soient identiques pour cela.

Quelle est la différence?

Répondre

3

Range est une propriété, pas une méthode - elle renvoie la plage du document représenté par la cellule.

Cela signifie que vous ne pouvez pas ajouter d'arguments comme (10,20).

Ce qui suit est équivalent:

Dim rangeStart As Integer 
rangeStart = ActiveDocument.Tables(2).Cell(1, 1).Range.Start 
ActiveDocument.Range(rangeStart + 10, rangeStart + 20).Select