Lors de l'utilisation de la gamme.de la valeur?
Si je suis en lecture/écriture à une plage, quand dois-je simplement utiliser des le nom de la plage et quand dois-je besoin pour utiliser la gamme.de la valeur? Importe-t-il si la plage est l'une cellule ou plusieurs cellules? Il n'importe ce que le type de la variable est? Ou le type de données dans la plage?
Par exemple, dois-je écrire a = Range("Test")
ou devrais-je écrire a = Range("Test").value
?
De même, Range("Test") = a
ou Range("Test").value = a
?
Vous devez vous connecter pour publier un commentaire.
Dans Excel
Range
objet, la valeur par défautmember
estValue
Donc
SomeVariable = Range("A1")
est la même queSomeVariable = Range("A1").Value
De même
Range("A1") = SomeVariable
est la même queRange("A1").Value = SomeVariable
Vous devez bien sûr être prudent lorsque vous dites
a = Range("Test")
Lorsque vous essayez de stocker la valeur dans une plage contiguë à une variable de type Variant, par exemple, la
Test
gamme renvoie à dire,A1:A10
, alors vous aurez un tableau de valeursEncore dans ce cas
Myar = Range("A1:A10").Value
est le même queMyar = Range("A1:A10")
Je ne suis pas sûr qu'entendez-vous par
when do I just use the range name
mais il n'a pas d'importance si vous utilisez.Value
ou pas lors de la lecture/écriture dans une gamme. À mon humble avis, c'est une bonne pratique d'utiliser.Value
🙂Non, il n'a pas d'importance, même dans ce cas, si vous utilisez
.Value
ou pas.Oh Oui! Voir l'exemple du tableau ci-dessus
Cellules Excel à stocker différents types de données. À partir des numéros de dates pour les cordes. Puisque vous ne savez pas ce qui peut être de type, il est recommandé que lorsque vous travaillez avec eux, utiliser
Variant
. Voici un exemple classiqueDisons cellule
A1
a ce numéro123456789
Maintenant, essayez ce code
Et maintenant, essayez celui -
Comme mentionné par Tim Williams dans les commentaires
.Value
car il aide les débutants à la lecture du code et permet de la différencier avec l'ancienne pépite.Value2
(voir ici Raghu stackoverflow.com/questions/17359835/...)