[[20090924190902]] 『マクロでグラフの編集』(マクロ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロでグラフの編集』(マクロ)
 マクロの記述について教えて下さい。
今、マクロにて自動的に円グラフが出来るものを作りました。
とは言っても、自動でのマクロですが・・・
グラフの作成は無事出来たのですが、グラフを作成した後の
編集がエラーとなってしまいました。

 エラーの原因は、
「指定した名前が見つかりませんでした。」であり、
黄色くなった記述を見ると、ActiveSheet.Shapes("グラフ 8").・・・となっております。

 これは、マクロを記録する時に作ったグラフ名であり、これからマクロで
作ろうとするグラフ名と異なるから起きたことだと思います。

 そこまでは分かりましたが、マクロを実行した時に、その実行により出来た
グラフを指定し、編集する方法が分かりません。

 分かる方、教えて下さい。
マクロについては初心者ですので・・・よろしくお願いします。

 グラフは複数あるのですか?
 他のブックやシートでも、そのマクロを流用する予定ですか?

 (1or8)

 シートは1つですが、そのシートに3つのグラフがあります。
マクロを使用するのはそのシートだけになります。
(マクロ)

 3つとも編集するのでしょうか? (1or8)

 3つとも編集します。
ただ、編集の度合いが違いますので、
それぞれのボタンを作成し、
Aのボタンを押す・・・Aのグラフの作成及び編集
Bのボタンを押す・・・Bのグラフの作成及び編集
Cのボタンを押す・・・Cのグラフの作成及び編集
という風にしたいと思っています。
つまり、3種類のマクロを作るということになります。
(マクロ)

 一つのマクロでいけそうなので、まとめて書きます。

 Sub グラフの編集()
    Dim i As Long
    For i = 1 To ActiveSheet.ChartObjects.Count
        ActiveSheet.ChartObjects(i).Activate
        Select Case i
            Case 1 '.ChartObjects(1) = Aのグラフ なら↓にAの編集内容を
                'ここで編集
            Case 2 '.ChartObjects(2) = Bのグラフ なら↓にBの編集内容を
                'ここで編集
            Case 3 '.ChartObjects(3) = Cのグラフ なら↓にCの編集内容を
                'ここで編集
            Case Is > 3
                MsgBox "グラフが3つ以上あります!"
        End Select
    Next
 End Sub

 ただし、状況によっては 1がA、2がB、3がCのグラフとは限らないので、
 まずは、select case なしで実行し、どのような順序でグラフが選択されるか確認し、
 順番に応じて編集を行うようにしてください。

 (1or8)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.