excel公式出现“不能设置类range的formulaArray属性”
大家好,我根据网友的帮助修改的公式:=INDIRECT("dog!"&TEXT(MAX((C2&D2&E2=dog!C$2:$C$500&dog!D$2:$D$500&C...
大家好,我根据网友的帮助修改的公式:
=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 展开
=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 展开
1个回答
展开全部
formulaArray你看他的帮助说明是:返回或设置区域的数组公式。返回(或可设置为)单个公式或 Visual Basic 数组。如果指定区域不包含数组公式,则本属性返回 Null。Variant 类型,可读写。
你要写的这个公式不是这个类型的,当然无法设置它的属性。
formulaArray改成FormulaR1C1:返回或设置指定对象的公式,用宏语言的 R1C1-样式符号表示。对于 Range 对象为 Variant 类型,对于 Series 对象为 String 类型,可读写。
你要写的这个公式不是这个类型的,当然无法设置它的属性。
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 = _
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询