[[20041215134848]] 『グラフのマクロ』(えく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『グラフのマクロ』(えく)

グラフの第2軸の縦軸表記を、小数第二位まで表示したい為に、以下のように
マクロを組みました。

    ActiveChart.Axes(xlValue, xlSecondary).Select
    Selection.TickLabels.NumberFormatLocal = "0.00_ "

すると、EXCEL97で動作させた時だけ、以下のエラーが出ます。

「実行時エラー'438':オブジェクトは、このプロパティまたは
メソッドをサポートしていません」

EXCEL97で、マクロの記録でやってみたのですが、上記のコードと
同じでした。

何が原因なのでしょうか?


 97はもってないからわからないけど、、、
こんな風につなげちゃったらどうでしょうか?
ActiveChart.Axes(xlValue, xlSecondary).TickLabels.NumberFormatLocal = "0.00_ "
 >「実行時エラー'438':オブジェクトは、このプロパティまたは
 >メソッドをサポートしていません」
 ちなみに↑こんなメッセージが出るということは、エクセル君的にいうと、、
「知りません」ってことになると思うのね。
だからσ(^◇^;)は、こんな時はコードの白いところを右クリックして
「プロパティ/メッソドの一覧」とういのをだしてから適当なのを見つけて書いてます。
ってゆうかぁ、、「.」やスペースを入れて自動メンバーが表示されなかったりしたら
エクセル君的には「知らない」ってことになって「やばい」と思うのね。
バージョンにもよるしね。。どうかな?うまくいったらいいのにね。。。
ではではv(=∩_∩=)v
(SoulMan)

やってみましたが、結果は同じでした。

 そうですかぁ、、じゃぁだめもとでもうひとつ.....
 >ActiveChart
 があやすぃので
Sheetから全部指定します。
ChartObjects(1)
は、グラフのINDEX番号ですから、一つしかなかったら、「1」のままでいいです。
二つあったら
ChartObjects(2)とかに変えてみてください。
Worksheets("Sheet1").ChartObjects(1).Chart.Axes(xlValue, xlSecondary).TickLabels.NumberFormatLocal = "0.00_ "
どうかな???
または、
第二軸を省略するとどうでしょうか?
Worksheets("Sheet1").ChartObjects(1).Chart.Axes(xlValue).TickLabels.NumberFormatLocal = "0.00_ "
ある意味これで変化がないと、ちょっとわかりません。
(SoulMan)

全く変わりませんでした・・・。
もともとは、第二軸はないのですが、マクロで第二軸を作成しています。
ても、主軸を指定しても同じなので、どうなんでしょう。


 ぅう〜〜ん、、こまりましたねぇ。。
そのコードよりも他に問題があるのかもしれませんね。
一度新規Bookでグラフを一から作成するコードをすべて記録してみて
実行されてみてはどうでしょうか?
ちなみに↓これは私のExcel2000で棒グラフで作成した二つの要素の一つの要素を
折れ線グラフに変換して二軸にしたものです。
作成されたグラフを一旦削除してから再度F8でステップ実行しても
なんの問題もなく作成されます。
 >メソッドをサポートしていません」
 ただこのようなメッセージが出る場合は、
やはりうまく選択されていないというか認識されていないのではないのかと思います。
ちなみにこのコードでも同じでしょうか?
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2004/12/19  ユーザー名 : SoulMan
'

'

    Range("A1:E3").Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:E3"), PlotBy:= _
        xlRows
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).ChartType = xlLineMarkers
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).AxisGroup = 2
    ActiveChart.Axes(xlValue, xlSecondary).Select
    Selection.TickLabels.NumberFormatLocal = "0.00_ "
    ActiveWindow.Visible = False
    Windows("Book1").Activate
    Range("K26").Select
End Sub
http://ryusendo.no-ip.com/cgi-bin/upload/src/up0200.xls
形式を変更して保存してあります。一度お試しください。
(SoulMan)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.