【问题标题】:Auto generated graph from one large excel file从一个大的 excel 文件自动生成的图表
【发布时间】:2018-08-30 20:05:28
【问题描述】:
【问题讨论】:
标签:
excel
vba
graph
auto-generate
【解决方案1】:
我倾向于使用辅助表,我在其中放置公式来收集图表所需的数据,通常使用 SUMIFS()、COUNTIFS()、VLOOKUP() 等。
或者,如果我正在做一个更大的 BI 电子表格,我将使用 ListObjects(表)并使用 OFFSET、MATCH、VLOOKUP 等的组合在名称管理器中定义名称,以自动从 ListOjects 返回一系列值,然后在图表中引用这些。
无论您使用上述两个选项中的哪一个,我们都可以使用以下 VBA 更新目标唯一 ID,请注意工作簿需要保存为启用宏的工作簿。此代码将更新 HelperSheet 中的单元格 A1,我们将使用它来更新图表的数据;
- 转到 VBA (F11)
- 打开包含您的 ID 的工作表的代码库。
-
添加以下代码。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim varIntersects As Variant
'Change Columns(1) to match your ID column.
Set varIntersects = Intersect(Selection, ActiveSheet.Columns(1).EntireColumn)
If Application.Selection.Cells.Count = 1 Then
If Not varIntersects Is Nothing Then
If Not Selection.Value = "" Then
'Change HelperSheet and A1 to suit your needs.
Worksheets("HelperSheet").Range("A1") = Selection.Cells.Value
End If
End If
End If
End Sub