首页 > 解决方案 > Excel 表上的 SUM、INDIRECT 和 Char 公式

问题描述

我在使用带有间接表引用的 SUM 公式时遇到了这种情况。

我想在表(名称:Consolidated_062020)中使用公式并使用另一个表(名称:IM_062020)的引用并推导出总和。首先,我记录了这一点,后来想将其转换为动态公式,因为两个表名每个月都会更改。

记录公式为:

ActiveCell.FormulaR1C1 = "=SUM(INDIRECT(""IM_062020"" & ""["" &[@[Team Members]] & CHAR(10) & Consolidated_062020[[#Headers],[Volumes]] & ""]""))"

我尝试了以下方法将其转换为动态方式:

Dim TableName As String
Dim TableName2 As String
Dim OLC As ListObject
Dim OLC2 As ListObject

Month = WorksheetFunction.Text(MacroSheetDate, "mm")

Year = WorksheetFunction.Text(MacroSheetDate, "yyyy")

TableName1 = "IM_" & Month & Year
TableName2 = "Consolidated_" & Month & Year

Set OLC = IndMetricsSht.ListObjects(TableName)

Set OLC2 = IndMetricsSht.ListObjects(TableName2)

我在表格中选择整个列数据范围并给出下面提到的公式:

Selection.FormulaR1C1 = "=SUM(INDIRECT(" & OLC & "[" & [@[Team Members]] & Chr(10) & OLC2 & [[#Headers],[Volumes]] & "]))"

请帮忙!

标签: excelvbaexcel-formula

解决方案


解决问题的代码:

Selection.FormulaR1C1 = "=SUM(INDIRECT(" & Chr(34) & TableName & Chr(34) & " & ""["" & [@[Team Members]] & CHAR(10) & ""Volumes"" & ""]""))"


推荐阅读