クリスは、たくさんの小さくて同一のチャートを含むワークブックを持っています。彼は、色やフォントサイズなど、各グラフの要素の属性の一部を一度に変更したいと考えています。

「デフォルト以外の」グラフを頻繁に使用する場合(つまり、グラフの作成後に特定のグラフ要素の外観を変更する場合)、カスタムグラフを作成し、その形式を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以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。