Arrays VBA Excel 2013从UD函数返回数组的特定值

Arrays VBA Excel 2013从UD函数返回数组的特定值,arrays,function,excel,vba,Arrays,Function,Excel,Vba,我的目的是在从函数调用时检索数组的特定值(静态或动态),方法如下 定义我的函数,并在函数内部定义我的数组。比如说 Function MonthNames() MonthNames = Array(“January”, “February”, “March”, _ “April”, “May”, “June”, “July”, “August”, _ “September”, “October”, “November”, “December”) End Function 我想在牢

我的目的是在从函数调用时检索数组的特定值(静态或动态),方法如下

定义我的函数,并在函数内部定义我的数组。比如说

Function MonthNames()
  MonthNames = Array(“January”, “February”, “March”, _
   “April”, “May”, “June”, “July”, “August”, _
   “September”, “October”, “November”, “December”)
End Function
我想在牢房里打字

=monthnames(2)在单元格中有“March”

不知怎的,这可能吗?我试过了,但是没有用。我如何在不同的单元格中多次使用相同的函数从数组中获取特定的值

如有任何建议,我们将不胜感激


注意:我不想使用子例程(如果可能的话),因为我失去了撤消的优势。

您的数组是基于零的,因此您需要从索引中提取一个子例程,并且需要将其声明为参数:

Function MonthNames(lIndex As Long)
   MonthNames = Array("January", "February", "March", _
   "April", "May", "June", "July", "August", _
   "September", "October", "November", "December")(lIndex - 1)
End Function

成功了!非常感谢!