プロが教えるわが家の防犯対策術!

初めまして。よろしくお願いします。

Excelで散布図を作成し、軸ラベルを任意の表示形式に設定したいのですが、Excel2007では実行可能ですが、Excel2003で実行エラーになります。
設定したい内容は
[赤][=34]▲34;[赤][=38]▼38;G/標準
です。

2007での実行可能なソース
lngHaniKagen=34
lngHaniJyogen=38
Chart.Axes(xlValue).TickLabels.NumberFormatLocal = "[赤][=" & lngHaniKagen & "]" & "▲" & lngHaniKagen & ";[赤][=" & lngHaniJyogen & "]" & "▼" & lngHaniJyogen & ";G/標準"

Excel2003で自動マクロで登録すると
ActiveChart.Axes(xlValue).Select
Selection.TickLabels.NumberFormatLocal = "[赤][=34]""▲""34;[赤][=38]""▼""38;G/標準"

ですが、マクロを実行すると、またエラーになります。

ちなみに実行エラーは
実行時エラー1004
「入力した表示形式が正しくありません。」で
「あらかじめ組み込まれている表示形式のいずれかを
しようしてみてください」とも表示されます。
その場合

Selection.TickLabels.NumberFormatLocal = "0.00"
などにすると実行可能です。

可変の値でその都度設定したいのですができずに困ってます。
2007ではできたり、2003ではできないのに、自動マクロ登録をすると
エラーになったソースと同じになったり、何をしたらいいのか
わかりません。
ご存じの方、ご教授お願いいたします。

A 回答 (1件)

こんにちは。



[XL2003] グラフの書式設定で NumberFormatLocal プロパティに "G/標準" を指定すると失敗する
http://support.microsoft.com/kb/840340/ja
この現象でしょう。[赤]もダメかも。

一応下記で検証しました。
ActiveChart.Axes(xlValue).TickLabels.NumberFormatLocal _
  = "[red][=34]""▲""34;[red][=38]""▼""38;general"
    • good
    • 0
この回答へのお礼

ありがとうございます。2007以外では実行可能でした。
ただ、2007では「赤」「標準」でないと通らず、
バージョンによってわけるといった少し格好の悪い形に
するしかないかな・・・と思ってます。
後0のつく数値の場合3桁になってしまうのです・・・
20→220 といった感じで・・・
これもきっとバグでしょうね
(私の書き方が悪いのかも・・・)

マイクロソフトサポートのサイトは見てはいたのですが、
赤がredになるところまでは予想できませんでした。
助かりました。ありがとうございました。<m(__)m>

お礼日時:2007/12/19 16:04

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