如何在非活动工作表中引用表的范围/列

时间:2019-03-28 16:07:31

标签: excel vba

我正在尝试使用VBA在Excel上的非活动工作表上引用数据范围表。

我可以通过激活它来引用该工作表:

Sheets("DTC").Select

    ActiveSheet.ListObjects("DTC_Table").ListColumns("Delay").DataBodyRange.Select
    ActiveCell.Formula = "=IF(--IsColour(0,K2),""Active"",(IF(--IsColour(2500134,K2),""Active"",IF(--IsColour(4210752,K2),""Active"",IF(V2=""No"","""",""Inactive"")))))"

但是我不知道为什么引用无效的工作表似乎不起作用:

Sheets("DTC").ListObjects("DTC_Table").ListColumns("Delay").DataBodyRange.Select
    ActiveCell.Formula = "=IF(--IsColour(0,K2),""Active"",(IF(--IsColour(2500134,K2),""Active"",IF(--IsColour(4210752,K2),""Active"",IF(V2=""No"","""",""Inactive"")))))

非常感谢。

1 个答案:

答案 0 :(得分:0)

您不需要执行Select。您已经有了参考。试试:

ThisWorkbook.Worksheets(<your sheet name here>)
    .ListObjects("DTC_Table").ListColumns("Delay").DataBodyRange.Formula = <your formula here>
End With

也许值得一读,为什么我们不应该使用SelectActivate之类的东西