グラフを横軸を変更する
Excelで毎月、一ヵ月分のグラフを作成しているのですが、日数が31日だったり、30日だったりするので、変更する必要があります。
月日 | 4/1 | 4/2 | … | 4/30 |
---|---|---|---|---|
アクセス数 | 100 | 321 | … | 331 |
月日 | 5/1 | 5/2 | … | 5/30 | 5/31 |
---|---|---|---|---|---|
アクセス数 | 302 | 101 | … | 231 | 521 |
グラフのフォーマットだけ作ってそこに数字を入れているのですが、グラフを毎回修正するのは面倒です。
そこで、横軸だけずらすVBAを作成してみました。手入力の箇所が多いのですが、気にせず公開。
Sub グラフの横軸の変更() Dim numChart As Integer Dim num As Integer Dim line As String Dim re As RegExp Set re = New RegExp re.Pattern = "横軸の値" numChart = ActiveSheet.ChartObjects.Count For i = 1 To numChart num = ActiveSheet.ChartObjects(i).Chart.SeriesCollection.Count For j = 1 To num 'Debug.Print "修正前" & ActiveSheet.ChartObjects(i).Chart.SeriesCollection.Item(j).Formula line = ActiveSheet.ChartObjects(i).Chart.SeriesCollection.Item(j).Formula 'Debug.Print "修正後" & re.Replace(line, "修正後の横軸の位置") line = re.Replace(line, "修正後の横軸の位置") ActiveSheet.ChartObjects(i).Chart.SeriesCollection.Item(j).Formula = line Next j Next i End Sub