如何在没有任何数据行的情况下读取Excel Table / ListObject中的计算列公式

我有一个ListObject与外部查询作为数据源,它返回18列。 ListObject先前已经添加了4个计算列。

现在,ListObject有0个数据行,但是,有0个数据行,我似乎无法读取计算列的预定义公式。

如果我刷新数据源,并且数据源至less返回1行,则计算列的公式变得可读。 同样,如果我手动在其中一个非计算列中input数据,以便至less有一行,则计算的列公式是可读的。

有没有办法确定什么是计算列公式是没有添加任何数据到列表对象?

这是一个解决方法,无论表格是否有行都可以工作。

getListColumnFormulae – 向表添加一行 – 用所有ListColumns的公式填充1维基数组1 – 删除行 – 返回数组

在这里输入图像说明


在这里输入图像说明


 Function getListColumnFormulae(tbl As ListObject) Dim Formulae On Error Resume Next With tbl.ListRows.Add Formulae = Application.Transpose(.Range.Formula) Formulae = Application.Transpose(Formulae) getListColumnFormulae = Formulae .Delete End With On Error GoTo 0 End Function Sub FormulaeMessage() Dim Data Dim tbl As ListObject Set tbl = Worksheets("Sheet2").ListObjects(1) Data = getListColumnFormulae(tbl) End Sub