• ベストアンサー

EXCEL VBA バージョンの違いによるエラー

EXCEL2010でVBAを使用して、グラフを作成するコードを作成したのですがEXCEL2003で使用するとグラフが作成されませんでした。 ネットで調べているとバージョンによって異なる部分があり動作が違う時があると分かりました。 ですが2003でも2010でも使用する場合があるのでどちらかにそろえるということはできません。 どちらでも使用できるようにするにはどうすればよいのでしょうか? 今のファイルとは別に別バージョン用のをもう一つ作成する必要があるのでしょうか? もしくはバージョンを判別してIF文で条件分岐させるなどでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

Excel2003で記録したマクロをそのまま2010に持って行くと,そのまま実行できます。 作成例: Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2011/7/19 ユーザー名 : myName ' '  Charts.Add  ActiveChart.ChartType = xlLineMarkers  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B4")  ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" End Sub

Not_Pro
質問者

お礼

そのような方法があるのですね。 コードまで記載いしてくださりありがとうございます。

その他の回答 (1)

回答No.2

基本的には上位互換ですからEXCEL2003で作れば良いのでは? ただし完全な上位互換では無いので2010でもテストして両方で使える部分を使うしかありません。

Not_Pro
質問者

お礼

回答ありがとうございます。 完全な上位互換ではないのですね。。。

関連するQ&A

  • VBAでワークシートとグラフシートの判別

    VBAでワークシートがactiveになっている時だけ実行プログラムを書きたいのですが ワークシートとグラフシートの判別する分岐をif文で作成するには どのように書けば良いですか? 検索してみても見つかりませんでした。 どなたかよろしくお願いいたします。

  • EXCEL VBAバージョンの互換性

    Excel 2010で作成したVBAが2000や2003で動作するか 調べたいのですがどうしたらよいでしょうか? (例えば自宅-会社でバージョンが違う…など)

  • EXCEL VBA グラフの項目ラベルの追加

    EXCEL2010でVBAを使用してグラフを作成しています。 グラフを作成するまではできたのですが、数値軸・項目軸のラベルが表示されません。 項目軸・数値軸ラベルには直接指定した文字を入力したいと思っています。 どのようなコードを使用するのかわかりません。 どなたかご教示お願いします。

  • Excelのバージョンの違いで VBA の実行エラー

    エクセル2003で、 VBAを使い、行を非表示にする ドグルボタンを作成し、 シート保護をし、行の書式だけ編集可能にし保護しました。 Range("63:67").EntireRow.Hidden = True Selection.EntireRow.Hidden = False というのを使用しました。  つまり、ドグルボタンで、列の表示と非表示をできるように しました。 しかしながら、あるユーザから、 ドグルボタンを押すと"実行エラー 1004"が表示される。 Range クラスのHidden プロバティを設定できません。 と表示されると報告がありました。 まるで、シート保護時に、列の書式にチェックをしなかった ような症状です。 よく聞いてみると そのユーザはExcel2000のユーザでした。 Excelのバージョンの違いによって生じたエラーなのでしょうか? わかる人教えてください。

  • EXCEL2010 VBA グラフの作成

    EXCEL2010のVBAで自動でグラフを作成するコードを作成したいと思っています。 シート1のA1:A10にデータが入っていて、ボタンを押すとコードが実行されて A1:A5までが系列1 A6:A10までが系列2 として表示される折れ線グラフを作成しようと思っています。 さらに作成したグラフは新規にシートを作成して作成したシートに表示させたいと思います。 このような処理を行いたいのですがVBAを始めたばかりなのでグラフの作成くらいしかまだ 分かっていません。 どなたかこの処理を実現できる良い方法を教えてください。よろしくお願いします。

  • VBAのデータ抽出(間引き)について

    VBAのデータ抽出(間引き)について 当方VBA初心者なのですが、 VBA(EXCEL2007)を使用してグラフ作成をしようと思っています。 元データの書式は以下の通りでデータ行は30秒間隔で 一カ月分(8万行)あります。 2010/08/01 01:00:34     1112.83 2010/08/01 01:01:04     1110.43 2010/08/01 01:01:34     1111.87 2010/08/01 01:02:04     1112.23 2010/08/01 01:02:34     1112.43 2010/08/01 01:03:04     1112.03 2010/08/01 01:03:34     1110.83 2010/08/01 01:04:04     1112.43 2010/08/01 01:04:34     1110.63 ・・・ データ量が多すぎるので間引きしようと思っています。 間引き(抽出)条件は以下の様に考えています。 10行毎(5分毎)に値の最大値の行を抽出して別シートへコピー。 VBAマクロで処理するにはどの様な コードで実現可能でしょうか? 教えて頂きたく。よろしくお願いします。

  • エクセルVBA グラフ範囲をフォームで指定したい

    はじめまして。 エクセルのVBAでグラフ作成のマクロを作成したく、 グラフ範囲をフォームで条件分岐したいのですが・・・ 具体的には、画像のような表があった場合、 2,002年~2,010年まで期間で 東京と埼玉と山梨のグラフを項目Bのデータで作成するといったことを、 フォームで各項目を指定して、グラフ作成ボタンを押すとグラフができる仕様にしたいのですが、 フォームを作成したものの、フォームデータをグラフ範囲に反映させる方法がわかりません。 宜しくお願いします。

  • Excelバージョンに対応するリリースNOを知りたい。

    こんにちは。 INFO("release")にてExcelバージョンを判断してVBAを分岐処理させたく思っています。 Excel2000 ⇒ 9.0 Excel2002 ⇒ ??? Excel2003 ⇒ 11.0 Excel2000とExcel2003は手元にあるので分かりますが、リリースのNoを知りたく思っています。 多分、Excel2002は10.0かと想像されますが、その他に9.1とか9.2とかあるのでしょうか。 ご存知の方宜しくお願い致します。

  • Excelのバージョン互換性について

    Excel2003で作成したマクロを下位バージョンでも使用したいのですが、どの程度の下位のバージョン迄、使用可能でしょうか?(Excel95、Excel97、2000~2002)

  • Excel VBA

    Excel2007のVBAの初心者です。 列のなかにある黄色のセルの個数をカウントしたいと思い、いろいろ探しているとVBAにおいて以下のようなコードを発見しました。  Dim c As Range,cu As Long  Application.Volatile  For Each c In a  If c.Interior.ColorIndex = 6 Then cu = cu +1  Next  color6 = cu  End Function しかし、いざやってみると 「コンパイルエラー プロシージャの外では無効です」 と表示され、うまくいきません。コードが違うのかどうかも分からないし、この警告文の意味もわかりません。 どなたか詳しい方。よろしくお願いします。

専門家に質問してみよう