【发布时间】:2020-09-11 21:11:38
【问题描述】:
我正在寻找一种快速的方法来使用自定义函数的结果填充一系列单元格,该函数将另一个范围(大小相等)作为参数值。例如,我想根据 A 列用 my_function 的结果填充所有 E 列。
这按预期工作,但在 2000 个单元格处已经很慢:
With ActiveSheet:
For i = 2 to 2000:
.cells(i,5)=my_function(.cells,i,1)
Next i
End With
我正在寻找这样的东西(用文本“测试”填充 E 列:
Set range_to_fill = ActiveSheet.Range("E2:E2000")
range_to_fill.Value="Testing"
但是除了用文本填充范围之外,我找不到其他方法来编写此内容。 第一步是尝试从 A 列复制值,但这只是将 E 列中的所有单元格都清空(老实说,我不太明白为什么):
range_to_fill.Value = Array((Range("A2:A2000").Value))
【问题讨论】:
-
my_function到底是做什么的?也许你应该重构它以返回一个给定多单元输入的数组。 -
是搜索功能;基本上是扭曲的查找;将单元格的值作为参数
my_function(A2)