機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > Excel 2007以降のグラフ

線の太さを設定する



折れ線グラフで、線の太さを変えるには、Weightプロパティに、太さを表す数値を指定します。

Sub Sample()
    ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Format.Line.Weight = 6
End Sub



一応書いておきます。

SeriesオブジェクトのFormatプロパティは、ChartFormatオブジェクトを返します。
ChartFormatオブジェクトは、塗りつぶし(FillFormat)やぼかし(SoftEdgeFormat)など、系列(Seriesオブジェクト)の書式にアクセスするためのオブジェクトです。
ChartFormatオブジェクトのLineプロパティは、線の書式を表すLineFormatオブジェクトを返します。
LineFormatオブジェクトには、線の色やスタイル、パターンなどのプロパティがあります。Wightプロパティは、太さを設定するプロパティです。

線の太さは、系列ごとに指定できます。すべての系列に対して太さを設定するには次のようにします。

Sub Sample()
    Dim i As Long
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection
        For i = 1 To .Count
            .Item(i).Format.Line.Weight = 6
        Next i
    End With
End Sub



Excel 2003のコードは動くか


Excel 2003で、線の太さを変更すると、次のようなコードが記録されます。なお、グラフ名はインデックス値に編集しています。

Sub Macro()
    ActiveSheet.ChartObjects(1).Activate
    ActiveChart.SeriesCollection(1).Select
    With Selection.Border
        .ColorIndex = 57
        .Weight = xlThick
        .LineStyle = xlContinuous
    End With
    With Selection
        .MarkerBackgroundColorIndex = xlAutomatic
        .MarkerForegroundColorIndex = xlAutomatic
        .MarkerStyle = xlAutomatic
        .Smooth = False
        .MarkerSize = 9
        .Shadow = False
    End With
End Sub

Excel 2003までのグラフでは、線の太さは、BorderオブジェクトのWightプロパティで設定します。ただし、設定できる太さは、ダイアログボックスで選択できる4種類です。



指定する定数は、次の通りです。



定数 意味
 xlHairline   1   細線 (最も細い罫線) 
 xlThin   2   極細 
 xlMedium   -4138   普通 
 xlThick   4   太線 (最も太い罫線) 

マクロ記録したコードは、線の太さだけでなく色なども設定していますが、とりあえずこのコードは、Excel 2007でも動作します。



まぁ、実際には、Excel 2003でも線の太さを変えるだけなら、次のようにすると思います。

Sub Macro()
    ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Border.Weight = xlThick
End Sub

もちろん、このコードもExcel 2007で動作します。



このエントリーをはてなブックマークに追加