【发布时间】:2022-08-14 23:21:52
【问题描述】:
我已经实现了这个方法来将每个数组元素乘以一个变量中保存的数字。它非常慢。
是否有一种公认的“最快”方法将范围内的每个元素乘以一个常数?或者至少一个不那么慢?我必须这样做 10 次,这需要几分钟。
MultFactor = 10
For Each cell In Sheet1.Range(\"B3:B902\")
cell.Value = cell.Value * MultFactor
Next cell
Multiply Entire Range By Value? 中引用的解决方案乘以一个常量(不是变量)。如果我使用此代码(将范围从 \"A1:B10\" 更改为 \"B3:B902\"),我会得到一个无意义的答案。
Dim rngData As Range
Set rngData = Sheet12.Range(\"B3:B902\")
rngData = Evaluate(rngData.Address & \"*2\")
我在 B3:B902 中的原始值对于前 100 个元素左右为零,然后增加一点,最后减少并再次出现零,但最终在我的范围内是一系列数字,破坏了我范围内的所有内容。它从 -224.5 开始,一直减少 0.5 到最后一个单元格。
-224.5
-224.0
-223.5
etc.
即使这样有效,我将如何修改它以使用变量 MultFactor?
-
无论您将使用哪种解决方案:您需要格外小心,不要多次运行代码。我的建议是改用新列(为此,您可以使用简单的公式而不是代码)