如何正确添加列到Excel表中,并使用VBA插入公式



我希望能够添加列和插入公式,从数据透视表查找值。'Peer Group Name'是其中一列。到目前为止,我是这样做的:

Set wrk = ThisWorkbook
Set trg_sht = wrk.Worksheets("Peers & Instruments - Overview")
Set tbl = trg_sht.ListObjects("Peers_Instruments_Values")
' Add few additional columns on position 26 & 27
tbl.ListColumns.Add(26).Name = "Median 1Y Return"
tbl.ListColumns.Add(27).Name = "Max 1Y Return"
tbl.ListColumns("Median 1Y Return").DataBodyRange.FormulaR1C1 = "=VLOOKUP([@[Peer Group Name]]," & "'" & CStr(wrk.Worksheets("Peer Group Stats") & "'" & "!C[-25]:C[-22],3,0)")

所以这两列是相加的,但公式没有。知道为什么吗?它是否与错误的列引用有关?

这看起来像:

CStr(wrk.Worksheets("Peer Group Stats") & "'" & "!C[-25]:C[-22],3,0)")

您不需要引用工作表,也不需要引用CStr。您只需要工作表名称,它可以硬编码:

tbl.ListColumns("Median 1Y Return").DataBodyRange.FormulaR1C1 = "=VLOOKUP([@[Peer Group Name]],'Peer Group Stats'!C[-25]:C[-22],3,0)"

最新更新