
現在、会社の端末がOffice2010と2003が混在している状態にあります。今のところ2003で作成されたファイルがほとんどです。
そこで問題が出てきたのですが、2003で作成したBookに埋め込みグラフとそれを操作するVBAがあり、そのVBAを2010のインストールされた端末で実行するとエラーが出てしまいます。コードは以下の通りです。
エラーの内容は、「'MinimumScale'メソッドは失敗しました: 'Axis'オブジェクト」 となります。Withの中すべてで同様のエラーが出ます。
・
・
・
With ActiveChart.Axes(xlValue)
.MinimumScale = 0
.MaximumScale = Data '事前に計算した値
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
・
・
・
理由がよくわからなかったので、2010で同様のグラフを作成し、上記の操作をマクロに記録したところ、同様のコードが記録されました。
グラフ自体が2003と2010では違うものなのでしょうか?
解決方法がありましたら教えていただきたいです。
No.2ベストアンサー
- 回答日時:
原因はおそらくシート保護がかかっているからでしょう。
「オブジェクトの編集」可能でシート保護していたとしても、
2007以降でのマクロによる図形操作がエラーになるケースがあります。
2003では問題ありませんし、手動ではエラーにならない事もあります。
http://oshiete.goo.ne.jp/qa/6933635.html?order=asc
解決策としては、グラフ操作マクロ内でUnprotect/Protectメソッドを使ってシート保護を制御すれば良いです。
大変遅くなり申し訳ありません。
ご指摘の通りにしたところうまくいきました。
いろいろ調べてもわからなかったのであきらめていましたが、
解決いたしました。
ありがとうございました。
No.1
- 回答日時:
2002(XP)版で作成したもの、2010版で作成したもの
どちらでも何の問題もなく実行できます。
新規作成のグラフでなく、問題のグラフで軸を操作しながら「マクロの記録」をしてみれば何かわかるのではありませんか?
昔2007版が出て当分の間は
古い版で作成したオブジェクトがみんな図になってしまったり
オブジェクトの座標の数値がそのままではまったく使えなくなったりしていましたが
何年かするうちにうまく変換されるようになってきました。
回答ありがとうございます。
元のグラフに対しての操作を記録したところ、同様のものでした。そしてそれをそのまま実行したところ同じエラーで止まってしまいました。
やはりダメなようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAの標準モジュール...
-
エクセルVBAでcode128のバー...
-
worksheetFunctionクラスのVloo...
-
Excelでフィルタをかけると警告...
-
sheetsメソッドの失敗
-
VBAについてです。 初心者です...
-
「Columns("A:C")」の列文字を...
-
テキストボックスが読み取り専...
-
VBAで作成するメール(開封確認...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
データバインドされたDatagridv...
-
VBAで既に開いている別アプリケ...
-
Excel VBAでIEにアクセスするプ...
-
「オブジェクト変数または With...
-
ACCESS activeXコンポーネント...
-
PowerShellで、連想配列の値の...
-
VBからExcelのセルの書式設定を...
-
USBのグループ ポリシー オブジ...
-
PowerPointVBAでスライドマスタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
PowerPointVBAでスライドマスタ...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
テキストボックス中の文字列の...
-
VBAからPDFファイルにパスワー...
-
VBAで既に開いている別アプリケ...
-
Excel VBAでIEにアクセスするプ...
-
オブジェクトが見つかりません
-
ExcelVBAでのNZ関数について
-
エクセルVBAでcode128のバー...
-
WordにOLEで埋め込んだExcelでW...
-
AccessVBAで「dim dbs as datab...
-
エクセルマクロエラー「'Cells'...
-
エクセル エラー438
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBScriptでファイルの日時順(降...
おすすめ情報