【发布时间】:2014-11-20 23:22:32
【问题描述】:
我有一个关于返回双精度数组中最大数字的函数的问题。 这就是我当前的代码的样子
Function return_largest()
last_row = Range("A1").End(xlDown).Row
Dim array_1()
ReDim array_1(last_row - 2, 5)
For i = 0 To last_row - 2
array_1(i, 0) = Range("A" & i + 2)
array_1(i, 1) = Range("B" & i + 2)
array_1(i, 2) = Range("C" & i + 2)
array_1(i, 3) = Range("D" & i + 2)
array_1(i, 4) = Range("E" & i + 2)
Next
MsgBox Application.WorksheetFunction.Max(array_1)
End Function
此函数适用于 5x5 数组。如果我想让它成为可用于维度数组 (i,k) 的函数,我应该如何更改此代码?
换句话说,我如何编写一个函数来查找数组的最大元素,该数组可以在子过程中为大小为 (x,y) 的数组调用(无论子过程中的数组具有什么维度),以及该子过程的语法是什么?
【问题讨论】:
-
要将范围转换为数组,例如使用
array_1 = Range("A1").Resize(100,5).Value。无需先使用ReDim函数初始化。