(2) Excel 2003/2010第2軸チャート同一表示化マクロ
チャートについてはどのExcelバージョンでも自動記録ができ、見やすくするために色付けやレイアウトの
変更は多少必要ですが、記録されたマクロをそのまま使用できます。
したがってチャート作成のマクロについては、判らないことは自動記録で解決するので便利資料は特に
あません。しかし、Excel2003で作ったチャート作成マクロをExcel2007/2010で実行した場合異なった
チャートが表示されたケースがありました。ここではその訂正例を紹介します。
Sub ローソク足チャート()
 ・・・・・ チャート作成部は省略 ・・・・・・・・・・・・・・・・・・・
2007対応
If Val(Application.Version) > 11 Then
    Call 訂正2007
End If
Range("A3").Select
End Sub
---------------------------------------------------------
Sub 訂正2007()
    ActiveChart.SetElement (msoElementSecondaryCategoryAxisReverse)
    ActiveChart.SetElement (msoElementSecondaryCategoryAxisNone)
End Sub

マクロとしてはSub 訂正2007()の2ステータスの追加です。
以下この2ステータスの説明です。


[1]第2軸が逆表示のチャート例
画面73はExcel2003では正常に動いたマクロを、Excel2007で実行したときのチャートですが、
第2軸の表示仕様が変わったので、Exce2003とは異なったチャートになります。

画面73第2軸が逆表示のチャート例



[2]第2軸のデータを右から表示に変える
マニュアル操作は画面1-74参照
画面74 第軸方向指定例


自動記録したステータスは、下記です。
ActiveChart.SetElement (msoElementSecondaryCategoryAxisReverse)


[3]前述「第2軸のデータを右から表示に変える」実行でできたチャート
チャート表示は正常になるが、画面75のように第2軸ラベルも表示される。

画面75第2軸ラベルも表示例 



[4]第2軸ラベル削除
「軸を表示しません」指定で削除されます(画面76参照)。

画面76第2軸ラベル削除


自動記録したステータスは、下記です。
ActiveChart.SetElement (msoElementSecondaryCategoryAxisNone)


[5]正常になったチャート
正常になったチャートは画面77参照

画面77 正常チャート表示例



【参考1111】Excelバージョンによるチャート名の相違点
チャートを別シートに貼り付け、そのチャートを制御するために名前を読み取り使用していましたが、
チャート名がExcel2003では「解析シート グラフ 59」がExcel2007は「解析シート Chart 59」でExcel2010は
「解析シート グラフ 59」となりまた2003と同じに戻りました(解析シートはシート名で同じです)。

aaa = ActiveChart.Name
If Val(Application.Version) > 11 Then
    gg1 = Mid(aaa, InStr(1, aaa, "ch", 1))
Else
    gg1 = Mid(aaa, InStr(1, aaa, "グ", 1))
End If

以下のように変更が必要です。
aaa = ActiveChart.Name
If Val(Application.Version) = 12 Then
    gg1 = Mid(aaa, InStr(1, aaa, "ch", 1))
Else
    gg1 = Mid(aaa, InStr(1, aaa, "グ", 1))
End If


【参考1112】Excelバージョンチェック
下記は、前記の(2)で使用した例です。
Sub 株価チャート()
If Val(Application.Version) > 11 Then
    Call 訂正2007
End If
-----------------------------------------------
Sub バージョンチェック()
    msgbox  Val(Application.Version)
End Sub
Excelのバージョンによっては使用できないコマンドがあり、その場合は実行するプロシージャーを分ける
必要があります。以下は上記の「バージョンチェック」で確認したバージョン番号です。
Excel名称 バージョン番号
Excel7 (Excel95) 7
Excel97 8
Excel2000 9
Excel2002 10
Excel2003 11
Excel2007 12
excel2010 14
excel2013  
※バ−ジョンは数字と思っていたが、"8.0d"等がありました。上記のように数字に変えて実施した方がよい。




【戻る】    【Top画面】   【HPへ】