TOP > プログラミング Excel関係 > ActiveSheet内のグラフ名を一括で変更

■ExcelVBA ActiveSheet内のグラフ名を一括で変更

ActiveSheet内のグラフ名を一括で変更します。

★グラフの削除や追加を繰り返しているとグラフ名が連続しなくなる



※このマクロは、グラフ名を初期化(一度別のグラフ名に変更する)
「グラフ ○○」○○の数字のグラフ名が存在していると、そのグラフが選択状態になり名前を変更することが出来ません。
その為、数値を大きくして被らないグラフ名に一度強制変更します。

「ExcelVBA 選択グラフ名を変更」 へ移動 一括変更後にこのマクロを使うと名前を簡単に変更できます。


※「グラフ ○○」○○が600から始まります。No_cnt = 600 の数値を変更すれば開始数値を変更できます。


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

sub 一括_グラフ名前_番号消し() Dim cht As Object Dim r As Range Dim r2 As Range Dim Before_Name, After_Name As String Dim No_cnt As Integer No_cnt = 600 'グラフ Noになります For Each cht In ActiveSheet.ChartObjects 'グラフをアクティブにする ActiveSheet.ChartObjects(cht.Name).Activate MsgBox cht.Name Before_Name = cht.Name '@Aの順番にやらないとグラフ全体が表示されない '@グラフの右下に画面を移動する Set r = ActiveChart.Parent.BottomRightCell '↓2回やらないとダメみたい Application.Goto r Application.Goto r 'Aグラフの左上に画面を移動する ActiveSheet.ChartObjects(cht.Name).Activate Set r = ActiveChart.Parent.TopLeftCell '↓2回やらないとダメみたい Application.Goto r Application.Goto r '画面を左端へ移動 With ActiveWindow .ScrollColumn = 1 'A列へ移動 End With 'どのグラフが選択状態か判るようにする為にもう一度アクティブにする ActiveSheet.ChartObjects(cht.Name).Activate Dim buf As String 'buf = InputBox(Prompt:="グラフ番号の付替え", Default:="グラフ ") buf = "" After_Name = "グラフ " & Str(No_cnt) With ActiveSheet .ChartObjects(cht.Name).Name = After_Name End With MsgBox Before_Name & "から" & After_Name & "へ変更しました。" No_cnt = No_cnt + 1 Next End Sub


関連リンク:「ExcelVBA 選択グラフ名を変更」

戻る

このページのURLをメールで送る