命名范围是否应该从源列值更新

命名范围是否应该从源列值更新

我理解命名范围的目的之一是创建一个新范围,该范围将从源列派生其元素。因此,当源列中有任何修订时,这应该反映在命名范围内。

例如,我创建了一个命名范围的 tickerrange,其元素来自 Ticker Symbol 列。

如果我删除股票代码列中的元素,我会发现此类删除并未反映在股票代码范围内。

请帮助我了解创建命名范围背后的逻辑是什么,以及它们的元素是否不应该从源列中更新。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

答案1

当您对源进行更改时,这些更改不会立即反映在数据透视表中。您需要刷新才能获取最新数据。右键单击数据透视表的单元格,然后选择刷新。这也可以从功能区中完成,方法是选择数据透视表的单元格,然后选择数据透视表分析 -> 刷新(如果您还有其他想要更新的数据源,则刷新全部)。

如果您希望自动反映更改,您可以创建一个宏(可以使用桌面版 Excel 创建宏,而不是在线版)。按ALT+ F11。在项目资源管理器(左侧)上找到源工作表,双击它。输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

    ThisWorkbook.RefreshAll

End Sub

当您对源数据进行更改时,宏将触发并立即将其反映到数据透视表中。

相关内容