小编MrA*_*A2Z的帖子

将范围传递给Excel用户定义函数并将其分配给数组

我在尝试着

  1. 将两个范围 - 多行单列 - 传递给Excel 2007中的用户定义函数,
  2. 然后将其分配给数组进行处理.

谁能告诉我如何将这样的范围分配给数组?

范围不是恒定的,因为我在不同的单元格中使用UDF来获取不同的数据,所以我不能使用e,g, Range("A1:A10")

当我使用Data1.Rows.Cells(i, 1)而不是数组时,代码正在工作.但我认为最好使用一维数组来提高效率.

这是我目前的代码

Function Sample(Data1 As Range, Data2 As Range) As Double

 'Size of Data1 and Data2
 Dim rows As Integer
 rows = Data1.Rows.Count 

 'Declaring two one dimensional arrays
 Dim data1Array(rows) As Double --- Getting error here
 Dim data2Array(rows) As Double --- Getting error here

 Dim diff As Double
 Dim average As Double
 Dim i As Integer

 'Assigning Range to Array
 data1Array = Data1 --- Getting Error …
Run Code Online (Sandbox Code Playgroud)

arrays excel vba range excel-vba user-defined-functions

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

arrays ×1

excel ×1

excel-vba ×1

range ×1

user-defined-functions ×1

vba ×1