如何在Excel中使用VBA从数据透视表中选择最新日期
如果您正在处理销售数据,则该数据每天都会更新。要使用数据透视表跟踪数据中输入的最新日期的完整销售额。在本文中,我们将学习如何使用数据透视表通过宏在数据库中选择最新日期。
以下是我们拥有的数据快照:
要自动查找新的日期和销售额,我们需要进行透视设置使用快捷键ALT + N + V
我们需要执行以下步骤:
单击“开发人员”选项卡。从“代码”组中,选择“ Visual Basic”
-
在工作表模块中输入以下代码
Sub LatestDatePivot() Dim pfiPivFldItem As PivotItem Dim dtmDate As Date With Worksheets(“Sheet1”).PivotTables(1) .PivotCache.Refresh .ClearAllFilters With .RowRange dtmDate = Evaluate(“Max(IF(ISNUMBER(“ & .Address(0, 0) & “),” & .Address(0, 0) & “,))”) End With For Each pfiPivFldItem In .PivotFields(“Dates”).PivotItems If pfiPivFldItem.Value = “(blank)” Then pfiPivFldItem.Visible = False Else pfiPivFldItem.Visible = (Cdate(pfiPivFldItem.Value) = CLng(dtmDate)) End If Next pfiPivFldItem End With End Sub
复制代码后,您需要使用ALT + F8 *运行宏并选择宏。
-
或者您可以插入形状并分配宏;我们将获得最新日期
-
测试代码;如果我们更改现有日期;我们将相应地获得输出
要动态地运行此代码,您需要做的就是遵循以下步骤:
按CTRL + F3打开“名称管理器”,在“引用”框中,将公式输入为
。 === * = OFFSET(Sheet1!$ A $ 1 ,,, COUNTA(Sheet1!$ A:$ A),2)
单击确定按钮,现在我们准备在数据透视表中使用此命名范围。单击数据透视表。从分析功能区>单击更改数据源
按F3快捷键启动现有的粘贴名称;选择LatestDate单击两次OK按钮