- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个以外部查询作为数据源的 ListObject,它返回 18 列。 ListObject 之前已添加了额外的 4 个计算列。
现在,ListObject有0个数据行,但是,虽然有0个数据行,但我似乎无法读取计算列的预定义公式。
如果我刷新数据源,并且数据源至少返回 1 行,则计算列的公式将变得可读。同样,如果我在非计算列之一中手动输入数据,以便至少有一行,则计算列公式是可读的。
有没有一种方法可以确定计算的列公式是什么,而无需向列表对象添加任何数据?
最佳答案
这里有一个解决方法,无论表是否有行,都可以使用。
getListColumnFormulae
- 向表中添加一行 - 使用所有 ListColumns 的公式填充一维基数 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
关于vba - 如何在没有任何数据行的情况下读取 Excel 表/ListObject 中的计算列的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40734024/
在我的一个工作表中,我有一个 Private Sub BuggingVba() 那应该将表中的数据替换为值数组 Dim MyTable As ListObject, myData() As V
我正在努力寻找一种从 ListObject 表中删除过滤/隐藏行的方法。 过滤不是通过代码执行的,而是由用户使用表头过滤器执行的。我想在取消列出 ListObject 表并执行小计操作之前删除过滤/隐
我需要访问工作簿的所有工作表中所有列表对象的选定事件,但是当我访问 worksheet.listobject 时,该对象显然属于 Microsoft.Office.Interop.Excel.List
是否可以同时过滤单个表中的多个字段? 我有一个过滤器,但不确定如何添加第二个字段。 wS.ListObjects("StructureTable").Range.AutoFilter Field:=1
我有一个 Excel 表格,其中包含一个标题行和一个数据正文行。我想计算数据主体行数。当我试图检查我的表有多少行时 Set myWorkSheet= ActiveWorkbook.Worksheets
如果我循环浏览工作表并想要测试给定工作表中是否存在任何 ListObject,我该如何执行此操作?我试过这个: Dim daysoftheweek As Worksheet For Each days
我有这个当前函数,它在遍历表时清除第 2 列值等于 -1 的行。我遇到的问题是我不想检查表中的最后一行。我该怎么做呢? foreach (Excel.ListRow lr in xlWorkBook.
如何简单地将数组中的值写入整个 ListObject一次列(仅数据行,不包括标题)?我找到了一个解决方案,但我认为它不漂亮: ' needs: ActiveSheet with ListObject
我试图让我的代码仅通过表引用范围(这样如果我从表中添加或删除列,代码将不会更改)。 我有一个名为 MyTable 的表。 此表有一个标题“MyHeader”。 在这里,我得到了表格的最后一行: dim
我有一个名为 UFCustInfo 的用户表单。在工作表区域,我有一个宏来显示表单 - Private Sub CmdShowInputForm() UFCustInfo.Show End S
我正在使用下面的代码来查找 ListObject 中最后一个可见行的 Sheet.Row。它似乎工作正常,但我想知道当 ListObject 非常大时是否有更快的方法来做到这一点。 干杯 Functi
我从 D3 单元格开始在工作表上添加一个新的 ListObject,然后创建列并将它们与 XMLMap 绑定(bind)。这是我的代码: Excel.Worksheet she
我正在尝试将 listobject 过滤数据提取到新工作簿。但是,会提取所有数据,而不仅仅是过滤后的数据。 Set loop_obj = wsCopy.ListObjects(1) loop_obj.
我想遍历Table1的一列,如果Table2的同一列名中缺少该值,则将其插入Table2的末尾。 下面的代码从 Table1 中插入确切的行数,但它只插入最后一行的值。 例如表格1: 列名 值(val
我有一个用户表单,用于将新数据行输入到同步到 Sharepoint 列表的动态表中。我只需要用于删除表中事件行的 VBA 代码。 我知道此代码用于删除表中的特定行: Selection.ListObj
我正在尝试编写一个宏,它遍历工作簿中的所有表,然后将每个表的名称以“TableName[#All]”的形式添加到数组中。 请参阅下面不完整的代码 Sub NewShopPage() ' ' Macro
我有一个包含约 500 行的 ListObject 表,在命名范围内还有 4 个值。 对于 500 行,可能有 30 个重复(随机)出现的唯一值,我想删除其值不在指定范围内的所有行。 我有以下工作,但
如何将记录集中的数据填充到列表对象中? 下面的代码不完全工作: oCN.ConnectionString = "DRIVER={SQL Server};Server=SRVSQL;Database=T
我有一个事件会触发 lambda 代码,该代码会尝试列出一个存储桶中的所有对象,然后将它们复制到另一个存储桶。 通过事件调用处理程序的代码 const cfnHandlerWrapper = asyn
我有一个名为 yourArray 的数组。 var yourArray = []; 当我从 s3 获取带有 listObjects 的对象名称时,我想将此对象名称推送到数组中。 var params
我是一名优秀的程序员,十分优秀!