作业帮 > 综合 > 作业

excel公式出现“不能设置类range的formulaArray属性”

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 15:47:44
excel公式出现“不能设置类range的formulaArray属性”
我根据网友的帮助修改的公式:
=INDIRECT("dog!"&TEXT(MAX((C2&D2&E2=dog!C$2:$C$500&dog!D$2:$D$500&CHOOSE({1,2,3,4,5},dog!AJ$2:$AJ$500,dog!AM$2:$AM$500,dog!AP$2:$AP$500,dog!AS$2:$AS$500,dog!AV$2:$AV$500))*ROW(dog!C$2:$C$500)*100+{37,40,43,46,49}),"r0c00"),0)
在excel里手动拖动时候没有错误,但录制为宏后,执行宏显示这个“不能设置类range的formulaArray属性”,请问如何修改?
我录制为宏的代码:
Range("H2").Select
Selection.FormulaArray = _
"=INDIRECT(""dog!""&TEXT(MAX((RC[-5]&RC[-4]&RC[-3]=dog!R2C[-5]:R500C3&dog!R2C[-4]:R500C4&CHOOSE({1,2,3,4,5},dog!R2C[28]:R500C36,dog!R2C[31]:R500C39,dog!R2C[34]:R500C42,dog!R2C[37]:R500C45,dog!R2C[40]:R500C48))*ROW(dog!R2C[-5]:R500C3)*100+{37,40,43,46,49}),""r0c00""),0)"
Selection.AutoFill Destination:=Range("H2:H500"),Type:=xlFillDefault
Range("H2:H500").Select
formulaArray你看他的帮助说明是:返回或设置区域的数组公式.返回(或可设置为)单个公式或 Visual Basic 数组.如果指定区域不包含数组公式,则本属性返回 Null.Variant 类型,可读写.
你要写的这个公式不是这个类型的,当然无法设置它的属性.
formulaArray改成FormulaR1C1:返回或设置指定对象的公式,用宏语言的 R1C1-样式符号表示.对于 Range 对象为 Variant 类型,对于 Series 对象为 String 类型,可读写.
再问: 很感谢您的回复。 但我本人的excel水平仅限于一般的办公级别,因此我还是不懂如何处理。
再答: 以下是你的源代码,我没有改的: Range("H2").Select Selection.FormulaArray = _ "=INDIRECT(""dog!""&TEXT(MAX((RC[-5]&RC[-4]&RC[-3]=dog!R2C[-5]:R500C3&dog!R2C[-4]:R500C4&CHOOSE({1,2,3,4,5},dog!R2C[28]:R500C36,dog!R2C[31]:R500C39,dog!R2C[34]:R500C42,dog!R2C[37]:R500C45,dog!R2C[40]:R500C48))*ROW(dog!R2C[-5]:R500C3)*100+{37,40,43,46,49}),""r0c00""),0)" Selection.AutoFill Destination:=Range("H2:H500"), Type:=xlFillDefault Range("H2:H500").Select 更改后这样的 Range("H2").Select Selection.FormulaR1C1 = _ "=INDIRECT(""dog!""&TEXT(MAX((RC[-5]&RC[-4]&RC[-3]=dog!R2C[-5]:R500C3&dog!R2C[-4]:R500C4&CHOOSE({1,2,3,4,5},dog!R2C[28]:R500C36,dog!R2C[31]:R500C39,dog!R2C[34]:R500C42,dog!R2C[37]:R500C45,dog!R2C[40]:R500C48))*ROW(dog!R2C[-5]:R500C3)*100+{37,40,43,46,49}),""r0c00""),0)" Selection.AutoFill Destination:=Range("H2:H500"), Type:=xlFillDefault Range("H2:H500").Select 只需更改这里 Selection.FormulaArray = _ 改成 Selection.FormulaR1C1 = _
再问: 您好,非常感谢您的回复。 我刚才已经根据你的提示修改尝试过,结果证明是不正确的。 再次感谢您的回复。
再答: ??????什么提示
再问: 可以无出错提示执行,但从我数据的结果来看是错误的。