プロが教える店舗&オフィスのセキュリティ対策術

 Excelで作成したグラフのタイトルの、(左の位置や幅は文字数で違ってくるので、)TopとHeightを、VBAを使って変更しようと思っています。

それで、以下のようなコードを書いてみたのですが、
「引数の数が一致しません または不正なプロパティを使用しています」
とのエラーメッセージが出てしまい、実行できません。
ChartTitle.Left などの引数の型はDoubleのようなので、
' Dim T, L, H, W As Double
としてみましたが、変化はありません。

Sub ChangeChartTitlePos()
'Excel VBA でグラフタイトルの位置変更
' Dim T, L, H, W As Double
T = 2: L = 68.4: H = 26.4: W = 220
With ActiveChart.ChartTitle
.Top = T
.Height = H
' .Left = L
' .Width = W
End With
End Sub

 どなたか解決方法をご教授頂ければ幸いです。
 また、VBAを使わずにグラフのタイトルのTopとHeightを任意の値に変更する方法がありましたら、その方法も教えて頂ければと存じます。
 よろしくお願いします。

追記
 ちなみに、プロットエリアの変更は、以下のコードで処理できています。

Sub ChangePlotArea()
With ActiveChart.PlotArea
.Top = 36.4
.Left = 7
.Height = 190.6
.Width = 274.5
End With
End Sub

A 回答 (3件)

タイトルの書式を設定するVBAコード例です



With ActiveChart
.HasTitle = True
.ChartTitle.Top = 1 -を付けると上に行きます
.ChartTitle.Left = 数値  左側からタイトル文字の位置を調整します
.ChartTitle.Font.Size = 文字の大きさの数値
.ChartTitle.Font.ColorIndex = 色の種類 カラー番号
.ChartTitle.Font.Name = "Broadway BT"  フォントを指定します
.ChartTitle.Font.Bold = False
.ChartTitle.Text = "タイトル"  
.ChartTitle.Shadow = True  タイトルに影を付けます
.ChartTitle.Border.ColorIndex = タイトルを囲む線の色
.ChartTitle.Border.LineStyle = xlContinuous
.ChartTitle.Border.Weight = xlThin 'xlMedium
.ChartArea.Fill.Visible = True
.ChartArea.Fill.PresetTextured PresetTexture:=表の背景のパターンを指定.数値
End With
    • good
    • 1

回答がついている通りでいいのですが、


.left .top は指定できますが
.height .width は取得しかできません。
 そこで、空白文字を追加すれば幅はみかけ上変えることができます。
また、空白文字のfont sizeだけを大きく変えるとかでみかけの高さを変えられます。
ただし、2010版では通常のテキストボックスや図形に文字を追加したときのようにはならないので
凝ったものにするのなら、それらのオブジェクトを使うしかないでしょう。
    • good
    • 0

>With ActiveChart.ChartTitle


With ActiveSheet.ChartObjects(1).Chart.ChartTitle
では
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!