向表中添加了列,但链接图表未使用新列数据更新
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
这使得工作簿在打开时循环显示包含图表的所有工作表,并允许原始代码添加新工作表并将该工作表数据添加到表和图表中。感谢大家的帮助。
以上是关于向表中添加了列,但链接图表未使用新列数据更新的主要内容,如果未能解决你的问题,请参考以下文章
Hive - 向表中添加新列时,我得到:SemanticException [Error 10002]: Invalid column reference
使用流式 API 更新新列后无法向 BigQuery 表插入新值