在Excel VBA中声明一个数组

我有一个Excel字段(由某人创build)一个包含数组的公式:
=PERCENTILE(Scale1, 0.5)
我需要将这个数组扩展到其他字段。

通常数组是A1:C52的范围,所以扩展它意味着修改公式,比如A1:C152

但是这个“Scale1”,即使我能看到它的边框是蓝色的,我也不能修改它的范围。

我试图search这个“Scale1”的定义,但没有成功。 有人知道如何修改它吗?

(我不能用A1:C152replace“Scale1”,因为在多个地方使用“Scale1”…)

这听起来像somone已经使用的名字。 您可以在UI中以交互方式修改它们:

  • 转到公式选项卡/function区
  • 点击名称pipe理器
  • selectScale1
  • 更改底部文本字段的范围
  • 点击closuresbutton

(在Excel 2003中,可以使用“名称>定义…”(在“ 插入”菜单中)打开类似的对话框。

或通过VBA:

 ThisWorkbook.Names("Scale1").RefersTo = "Table1!$A$1:$C$152" 

如果您正在使用Excel 2007/2010,则可以打开xlsx文档的XML内容。 以这种方式寻找“Scale1”。 要在代码中执行此操作,请使用OpenXML API。

检索Excel单元格值: http : //msdn.microsoft.com/zh-cn/library/bb332058%28office.12%29.aspx

关于重新计算公式的类似问题: OpenXML SDK:使Excel重新计算公式

最后,如果你需要在VBA中这样做,我find了这篇关于编辑元素的文章,但是还没有试过这个: http : //www.jkp-ads.com/articles/Excel2007FileFormat02.asp

对于Excel 2003,可以安装兼容包 ,这将允许Office 2003使用2007 Microsoft Office system新增的Open XML格式打开,编辑,保存和创build文件。

在Excel 2003中,名称pipe理器位于“插入”|“名称”|“定义”中。