Vba 在引用其他图纸上表格的表格中设置ArrayFormula
我想设置数组公式:Vba 在引用其他图纸上表格的表格中设置ArrayFormula,vba,excel,Vba,Excel,我想设置数组公式: =VLOOKUP(MID([@[源代码页]];FIND(“.”;[@[源代码页]];1)+1;15);Tbl_PN[[Hostname]:[Allocated on:];COLUMN(Tbl_PN[[[源代码页];[Allocated on:])-2;0) 在表中,但我得到一个错误: 运行时错误1004无法设置的FormulaArray属性 靶场等级 Tbl_PN在另一张表上,我正试图为MULE设置一个数组。顺便说一句,如果我将公式手册复制到工作表中,那么它工作正常;如果我将
=VLOOKUP(MID([@[源代码页]];FIND(“.”;[@[源代码页]];1)+1;15);Tbl_PN[[Hostname]:[Allocated on:];COLUMN(Tbl_PN[[[源代码页];[Allocated on:])-2;0)
在表中,但我得到一个错误:
运行时错误1004无法设置的FormulaArray属性
靶场等级
Tbl_PN在另一张表上,我正试图为MULE设置一个数组。顺便说一句,如果我将公式手册复制到工作表中,那么它工作正常;如果我将“.formula”行上的公式更改为“=-3”,那么代码运行正常
With Wb.Sheets(Sht1)
lastrow = .Cells(.Rows.Count, StartCell.Column).End(xlUp).Row
lastcolumn = .Cells(StartCell.Row, .Columns.Count).End(xlToLeft).Column
Set TblRange = Range(StartCell, Cells(lastrow, lastcolumn)) ' set range to create new table
Set ObjTable = .ListObjects.Add(xlSrcRange, TblRange, , xlYes) ' create new table
ObjTable.Name = "tbl_" + Sht1 ' set table name
ObjTable.TableStyle = "TableStyleLight9" ' set table style"
ObjTable.ListColumns.Add.Name = "Frame" ' add column to table
ObjTable.ListColumns("Frame").Range.NumberFormat = "General" ' set format new column to general (other are text)
ObjTable.ListColumns("Frame").DataBodyRange(1).FormulaArray = "=VLOOKUP(MID([@[Source Sheet]];FIND(""."";[@[Source Sheet]];1)+1;15);Tbl_PN[[Hostname]:[Allocated on:]];COLUMN(Tbl_PN[[#Headers];[Allocated on:]])-2;0)"
End With
更换
代码>带有,
。vba中的公式必须是美式英语格式。感谢Scott,这是解决方案,替换后代码运行良好;具有