【问题标题】:Auto generated graph from one large excel file从一个大的 excel 文件自动生成的图表
【发布时间】:2018-08-30 20:05:28
【问题描述】:

我正在尝试在 Excel 中创建自动生成的图表。我需要创建 50 个源自一张 Excel 表的图表。每个图表都有一个唯一的 ID。

我正在寻找的是当我单击 B 列中的唯一 ID(例如 ASD)时,图表将弹出显示部分(列)与。所选唯一 ID 的年份。为了方便起见,我在下面粘贴了一个示例图表。我不擅长编程。我真的需要你的帮助。如果您能在这里帮助我,我将不胜感激。谢谢

Example Graph of Number OF TEACHER VS CLASSES & FEE
Example Table for Creating Graph

【问题讨论】:

    标签: 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
      

    【讨论】:

      猜你喜欢
      • 2016-02-25
      • 2016-05-27
      • 2021-09-13
      • 2014-09-23
      • 2019-02-25
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多