一度に多くのグラフの要素を変更する(Microsoft Excel)
クリスは、たくさんの小さくて同一のチャートを含むワークブックを持っています。彼は、色やフォントサイズなど、各グラフの要素の属性の一部を一度に変更したいと考えています。
「デフォルト以外の」グラフを頻繁に使用する場合(つまり、グラフの作成後に特定のグラフ要素の外観を変更する場合)、カスタムグラフを作成し、その形式をExcelに保存することをお勧めします。次に、保存したフォーマットを使用してすべての新しいチャートを作成できるため、後で行う必要のあるフォーマットの量を最小限に抑えることができます。カスタムグラフ形式を保存する方法は、_ExcelTips._の他の問題で説明されています。
カスタムチャート形式は将来的には素晴らしいかもしれませんが、既存のワークブックにすでにたくさんのチャートがある場合は役に立ちません。その場合、最善の解決策は、ブック内のすべてのグラフをステップスルーして必要な変更を加えることができるマクロを使用することです。変更するアイテムを事前に決定してから、それらのアイテムを具体的に変更するようにマクロをプログラムする必要があります。
たとえば、次のマクロは、Y軸ラベルのフォントの色とサイズを変更します。シートと埋め込みグラフの両方で、ブック内のすべてのグラフをループします。
Sub ChangeAllCharts1() Dim cht As Chart Dim sht Dim ChtObj As ChartObject For Each cht In ActiveWorkbook.Charts With cht.Axes(xlValue).TickLabels.Font .Size = 20 .Color = vbRed End With Next For Each sht In ActiveWorkbook.Sheets For Each ChtObj In sht.ChartObjects With ChtObj.Chart.Axes(xlValue).TickLabels.Font .Size = 20 .Color = vbRed End With Next Next End Sub
ここに書かれているように、マクロはフォントサイズを20に、色を赤に変更します。マクロで他の要素を変更する場合は、変更する要素を反映するようにWithステートメントを変更するか、For … Nextループを使用してすべてのグラフ要素をステップスルーするだけです。次のマクロは、ワークブックのグラフの背景色を変更するこの手法を示しています。
Sub ChangeAllCharts2() On Error Resume Next NewChartAreaColor = 34 For J = 1 To ActiveWorkbook.Charts.Count ActiveWorkbook.Charts(J).Select 'The pairs of line code indicate desired changes ActiveChart.ChartArea.Select Selection.Interior.ColorIndex = NewChartAreaColor Next J For J = 1 To ActiveWorkbook.Sheets.Count For K = 1 To Sheets(J).ChartObjects.Count Sheets(J).Select Sheets(J).ChartObjects(K).Activate 'The pairs of line code indicate desired changes ActiveChart.ChartArea.Select Selection.Interior.ColorIndex = NewChartAreaColor Next K Next J End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3125)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link一度に多くのグラフの要素を変更する。