我正在尝试使用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"")))))
非常感谢。
答案 0 :(得分:0)
您不需要执行Select
。您已经有了参考。试试:
ThisWorkbook.Worksheets(<your sheet name here>)
.ListObjects("DTC_Table").ListColumns("Delay").DataBodyRange.Formula = <your formula here>
End With
也许值得一读,为什么我们不应该使用Select
和Activate
之类的东西