首页 > 解决方案 > 如何在 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

标签: excelvba

解决方案


您不能像numberDim语句中那样使用变量,但可以将它与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将其作为数组公式输入:

在此处输入图像描述


推荐阅读