修改所有图表
Amending all Charts
我有一个包含多个工作表的工作簿,每个工作表都有多个图表。
这些都是记录各种功能的进度,所以横轴是日期。
显然,该轴的末端应该是今天的日期 - 好吧,为了视觉效果,假设今天一周。所以每天都要换
Excel 制作了这个宏,在一张图表上工作得很好。
ActiveSheet.ChartObjects("Overall").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MaximumScale = Int(Now()) + 7
Application.CommandBars("Format Object").Visible = False
我如何更改它以使其在每个工作表上显示每个图表?
Do for each Sheet - how do I do that ?
Do for each Chart - how do I do that ?
Do the Biz - code as above, but quotes replaced by what ?
Loop until what ?
Loop until what ?
Option Explicit
Sub update()
Dim ws As Worksheet, cht As ChartObject, n As Integer, dt As Date
dt = Date + 7
For Each ws In ThisWorkbook.Sheets
For Each cht In ws.ChartObjects
cht.Chart.Axes(xlCategory).MaximumScale = dt
n = n + 1
Next
Next
MsgBox n & " charts updated to " & Format(dt, "yyyy-mm-dd"), vbInformation
End Sub
我有一个包含多个工作表的工作簿,每个工作表都有多个图表。
这些都是记录各种功能的进度,所以横轴是日期。
显然,该轴的末端应该是今天的日期 - 好吧,为了视觉效果,假设今天一周。所以每天都要换
Excel 制作了这个宏,在一张图表上工作得很好。
ActiveSheet.ChartObjects("Overall").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MaximumScale = Int(Now()) + 7
Application.CommandBars("Format Object").Visible = False
我如何更改它以使其在每个工作表上显示每个图表?
Do for each Sheet - how do I do that ?
Do for each Chart - how do I do that ?
Do the Biz - code as above, but quotes replaced by what ?
Loop until what ?
Loop until what ?
Option Explicit
Sub update()
Dim ws As Worksheet, cht As ChartObject, n As Integer, dt As Date
dt = Date + 7
For Each ws In ThisWorkbook.Sheets
For Each cht In ws.ChartObjects
cht.Chart.Axes(xlCategory).MaximumScale = dt
n = n + 1
Next
Next
MsgBox n & " charts updated to " & Format(dt, "yyyy-mm-dd"), vbInformation
End Sub