/ / Multipliez une gamme avec une constante - vba, excel-vba, excel

Multipliez une gamme avec une constante - vba, excel-vba, excel

Je veux tout multiplier dans la plage par une valeur. J'ai essayé ce format, mais les valeurs ont disparu.

Code:

Dim yl1 As Range

Set yl1 = .Range(.Cells(17, 6), .Cells(n + 16, 6))*19.25

Réponses:

1 pour la réponse № 1

Selon le lien:

Dim yl1 as Range
Set yl1 = .Range(.Cells(17, 6), .Cells(n + 16, 6))
yl1.Value = .Evaluate("INDEX(" & yl1.Address(0,0) & " * 19.25,)")

Cela les fera tous à la fois.


0 pour la réponse № 2

Il y a probablement d'autres moyens, beaucoup mieux, mais l'un n'est qu'une boucle

For i = 17 to some last row
Cells(i, 6) = Cells(i, 6) * 19.25
Next i

Je trouve de cette façon le plus intuitif, cependant.


0 pour la réponse № 3

Autrement:

Sub UsingPaste()
Range("B1").Value = 0.7
Range("B1").Copy
n = 10
Range(Cells(17, 6), Cells(n + 16, 6)).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
End Sub

B1 est une cellule non utilisée et n est ce qu'il se passe.