excel - 如何在 Excel 中使用 VBA 函数输出填充 n 个单元格?
问题描述
我需要在给定区域内重复生成 n 个随机点。因此,我想创建一个填充 nx 2 个单元格(n 点的 x 和 y 坐标)的 excel 函数。n 是函数的参数。
Function generateForest(number) As Variant
Dim position(1 To number, 2) As Single
For i = 1 To number
x(i, 1) = Rnd()
x(i, 2) = Rnd()
Next i
generateForest = positions
End Function
解决方案
您不能像number
在Dim
语句中那样使用变量,但可以将它与ReDim
. 您的代码的以下调整有效:
Function generateForest(number As Long) As Variant
Randomize
Dim i As Long
Dim position As Variant
ReDim position(1 To number, 1 To 2)
For i = 1 To number
position(i, 1) = Rnd()
position(i, 2) = Rnd()
Next i
generateForest = position
End Function
要使用,例如A1:B10
在电子表格中选择,输入公式
=generateForest(10)
然后使用Ctrl+Shift+Enter
将其作为数组公式输入:
推荐阅读
- excel - VBA VLookup If Match MsgBox Else Continue
- java - 我想将数据表单元格背景从 sql 更改为 JTable Eclipse
- keras - Keras - 创建一个“生成器”来通过数据块训练和拟合图像
- c++ - C++ 小数点
- apache-kafka-connect - 为什么几分钟后我的 confluent kafka docker-compose 的 connect-datagen 容器会断开连接?
- spring-data-rest - 使用投影仅修改一个字段,但保留所有其他字段的默认值
- python-3.x - Boto3 InvalidParameterException 在执行 lambda 函数时
- coq - Coq 中的对和预测
- python - 如何检查系统中是否存在文件或不在 html 页面中使用 jinja?
- loops - 媒体基金会:第 6 次循环视频不稳定