向表中添加了列,但链接图表未使用新列数据更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向表中添加了列,但链接图表未使用新列数据更新相关的知识,希望对你有一定的参考价值。

我是新来的,我还没能找到答案。

我有一个年度商店收入工作簿,允许我从输入的收入/交易数字跟踪销售和其他月/年数字。

我有一些VBA代码,为新的一年创建一个新的工作表。该代码还将新年数字添加到相关表中,但链接到这些表的图表不会使用新数据进行更新。

我第一次运行此代码时,它适用于所有表格和图表。现在它偶尔适用于某些但不是全部,并不总是相同的,而且往往不会更新任何图表。

我的代码是;

Dim NewPageName As String

Sub NewPage()

    Dim sName As String
    Dim wks As Worksheet

    'Unhides Master sheet

    Sheets("MASTER").Visible = True

    'Copies Master sheet & places copy after Graphs sheet

    Sheets("MASTER").Copy after:=Worksheets("Average Daily Till Diff")

    'Generates input box to name the new Sheet and checks duplicate names

    Set wks = ActiveSheet
    Do While sName <> wks.Name
        sName = Application.InputBox _
          (Prompt:="Enter New Year")
        On Error Resume Next
        wks.Name = sName
        On Error GoTo 0
    Loop
    Set wks = Nothing

    'Moves the data tables from new sheet to next empty column on to relavent data/graph sheets

    ActiveSheet.Range("D106:D107").Cut (Sheets("Total Yearly Takings").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Total Yearly Takings").Columns.AutoFit

    ActiveSheet.Range("D41:D53").Cut (Sheets("Total Monthly Takings").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Total Monthly Takings").Columns.AutoFit

    ActiveSheet.Range("D54:D66").Cut (Sheets("Average Daily Takings").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Average Daily Takings").Columns.AutoFit

    ActiveSheet.Range("D93:D105").Cut (Sheets("Average Daily Basket").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Average Daily Basket").Columns.AutoFit

    ActiveSheet.Range("D108:D109").Cut (Sheets("Total Yearly Till Diff").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Total Yearly Till Diff").Columns.AutoFit

    ActiveSheet.Range("D67:D79").Cut (Sheets("Total Monthly Till Diff").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Total Monthly Till Diff").Columns.AutoFit

    ActiveSheet.Range("D80:D92").Cut (Sheets("Average Monthly Till Diff").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Average Monthly Till Diff").Columns.AutoFit

    ActiveSheet.Range("D110:D111").Cut (Sheets("Average Daily Till Diff").Range("IV1").End(xlToLeft).Offset(, 1))
    Application.CutCopyMode = True
    Worksheets("Average Daily Till Diff").Columns.AutoFit

    'Hides the Master sheet

    Sheets("MASTER").Visible = False

End Sub

有人能帮忙吗?

答案

这是通过添加排序;

Private Sub Workbook_Open()

'Activate a Sheet
   Sheets("Average Daily Till Diff").Activate
   Sheets("Average Monthly Till Diff").Activate
   Sheets("Total Monthly Till Diff").Activate
   Sheets("Total Yearly Till Diff").Activate
   Sheets("Average Daily Basket").Activate
   Sheets("Average Daily Takings").Activate
   Sheets("Total Monthly Takings").Activate
   Sheets("Total Yearly Takings").Activate

End Sub

这使得工作簿在打开时循环显示包含图表的所有工作表,并允许原始代码添加新工作表并将该工作表数据添加到表和图表中。感谢大家的帮助。

以上是关于向表中添加了列,但链接图表未使用新列数据更新的主要内容,如果未能解决你的问题,请参考以下文章

向表中添加新列

在数据中添加新列和行时 Excel 会自动更新图表

Hive - 向表中添加新列时,我得到:SemanticException [Error 10002]: Invalid column reference

使用流式 API 更新新列后无法向 BigQuery 表插入新值

使用 ALTER TABLE 添加新列后 H2 数据库插入数据异常

使用jquery向表中添加行,但未使用php提交新行