我有一本包含多个工作表的工作簿,每个工作表都有多个图表。
这些都记录了各种功能的进度,所以X轴是日期。
显然,该轴的终点应该是今天的日期 - 好的,为了视觉效果,假设今天是一周。所以每天都需要更换。
Excel 生成了这个宏,在一张图表上运行得很好。
ActiveSheet.ChartObjects("Overall").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MaximumScale = Int(Now()) + 7
Application.CommandBars("Format Object").Visible = False
Run Code Online (Sandbox Code Playgroud)
我如何更改它以使其执行每个工作表上的每个图表?
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 ?
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |