Arrays 用不同工作表中的范围填充数组

Arrays 用不同工作表中的范围填充数组,arrays,vba,range,worksheet,Arrays,Vba,Range,Worksheet,在一个函数中,我定义了数组,如下所示,但当我在工作表中使用它时,该函数给了我#值。当我将零件工作表(“interestrates”)放在错误的工作表中时,它会起作用。我能做什么,让Excel用工作表“interestrates”中的值填充数组 array1=工作表(“interestrates”).Range(“a”&range1.Value&“:c”&range2.Value)假设range1和range2是计算为整数/长值的单单元格范围对象,我相信这是您的问题: 您有一个多维数组(3列,不同

在一个函数中,我定义了数组,如下所示,但当我在工作表中使用它时,该函数给了我#值。当我将零件工作表(“interestrates”)放在错误的工作表中时,它会起作用。我能做什么,让Excel用工作表“interestrates”中的值填充数组


array1=工作表(“interestrates”).Range(“a”&range1.Value&“:c”&range2.Value)

假设
range1
range2
是计算为整数/长值的单单元格范围对象,我相信这是您的问题:

您有一个多维数组(3列,不同行数由
range1
range2
的最大值决定)。行数实际上并不重要。问题是不能在单个单元格中放置值数组

长话短说,您当然应该能够像现在这样分配给数组,例如:


如果函数返回
#值错误,则函数的其余部分出现问题,或者函数的预期/尝试操作出现问题。

能否显示函数的其余部分?另外,请修改您的问题,以纠正一些可读性问题--“当我将零件
工作表(“interestrates”)
放在错误的工作表中时。”我的意思是,如果我将范围(“a”&range1.Value&“:c”&range2.Value)分配给数组1,则该函数可以正常工作。然后,问题是数组总是填充工作表中使用函数的范围的值,而不是工作表“interestrates”中的相同范围的值。例如,如果range1=1,range2=50,数组中填充的是工作表“prices”(这是我使用函数的工作表)中A1:C50内的值,与工作表“interestrates”中A1:C50内的值相反。我和你做的一样,我说Array1需要从A:1到C50(假设range1=1,range2=50)但总是在工作表“利率”中。当我按照您的建议输入forumla时,array1始终包含我当前使用中函数的工作表的值。我需要一个补充,告诉Excel:“嗨,Excel,请将数组1设为50x3数组,并用工作表“interestrates”的A1到C50的值填充它。谢谢澄清。所以,好吧。我从
Sheet2
调用此函数,它在本地窗口中显示结果,以及工作表
Sheet1
中的值。这就是你所期望的。如果您在“本地人”窗口中没有看到预期的结果,是否可以发布一些屏幕截图(如果您无法在此处提供,请上传到imgur.com)?我发现了问题:我使用的是德语Excel,因此我需要键入“Tabelle2”而不是“Sheet2”。非常感谢你的帮助,终于成功了!