
現在、会社の端末が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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルVBA 作業後に選択範囲を解除する方法 5 2023/02/17 07:13
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
エクセルのVBAの標準モジュール...
-
ASP レコードセットしたオブジ...
-
VBAで Set wb = Sheets(1).Cop...
-
VBAで既に開いている別アプリケ...
-
EXCEL VBA オートシェイプナン...
-
エクセルVBAで配列内に空白デー...
-
VBScriptからDLL参照設定したい
-
[VBA]CDOメッセージ送信エラー
-
Excel VBAでWordの複数ファイル...
-
CreateObjectとGetObjectの違い
-
ExcelVBAでのNZ関数について
-
Excel2007 VBA ラジオボタン Ca...
-
VBAについてです。 初心者です...
-
VBで引数にDictionaryオブジェ...
-
VBAからPDFファイルにパスワー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
VBAからPDFファイルにパスワー...
-
エクセルVBAでcode128のバー...
-
VBScriptからDLL参照設定したい
-
VBAについてです。 初心者です...
-
エクセルマクロエラー「'Cells'...
-
オブジェクトが見つかりません
-
エクセルVBAで配列内に空白デー...
-
Excel VBAでWordの複数ファイル...
-
VBScriptでファイルの日時順(降...
おすすめ情報