[[20141031162309]] 『図形のマクロ連動』(りんご) ページの最後に飛ぶ

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

 

『図形のマクロ連動』(りんご)

 いつもお世話になっております。
 本日も宜しくお願い致します。

 シート「A」に図形を約100個程作成しており、図形をクリックすると
 色が変わるマクロを作成しました。

 Sub 色変更()

 Dim chk As Integer

  With ActiveSheet.Shapes(Application.Caller)
   chk = .Fill.ForeColor.SchemeColor

   Select Case chk
    Case 8
      .Fill.ForeColor.SchemeColor = 9
      .Width = 8.5039370079
      .Height = 8.5039370079

    Case 9
      .Fill.ForeColor.SchemeColor = 8
      .Width = 8.5039370079
      .Height = 8.5039370079

   End Select
   End With
   End Sub

 このシート「A」で色が変わった図形があった場合、シート「イ」の特定の図形も
 色を変えたいと思っております。
 例えば・・・
 シート「A」で、図形1・図形5・図形13の色が変わった
 →シート「イ」の図形1・図形5・図形13の色も変える。

 図形1つ1つに連動させるマクロを作成すれば良いと思うのですが、
 図形の数が多いので、簡素化できないものかと思い質問させて頂きました。

 皆様のお知恵をお貸しください。宜しくお願い致します。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


Sub 色変更()
    Dim chk As Integer
    Dim Shp(1)
    Set Shp(0) = ActiveSheet.Shapes(Application.Caller)
    Set Shp(1) = Sheets("イ").Shapes(Application.Caller)
    For i = 0 To UBound(Shp)
        With Shp(i)
            chk = .Fill.ForeColor.SchemeColor
            Select Case chk
                Case 8
                    .Fill.ForeColor.SchemeColor = 9

                Case 9
                    .Fill.ForeColor.SchemeColor = 8
            End Select
            .Width = 8.5039370079
            .Height = 8.5039370079
        End With
    Next i
End Sub
(ぽち) 2014/10/31(金) 17:02

 ぽち様
 ありがとうございました。希望通りの動きをしました。

 追加で質問ですが、、、

 シート「A」で、図形83・図形90・図形95のが変わった
 →シート「イ」と「ロ」と「ハ」の 図形83・図形90・図形95 の色も変更する等
 複数のシートを選択して同じ処理を行う事は可能でしょうか?

 Set Shp(1) = Sheets("イ").Shapes(Application.Caller)

 に少し手を加え、試してみましたが思うように動かず。。。
 ヒントを教えて頂ければ助かります。助けて下さい。
 宜しくお願い致します。

(りんご) 2014/11/01(土) 14:28


 連続コメント申し訳ありません。解決しました。
 皆様、ありがとうございました。
(りんご) 2014/11/01(土) 16:36

コメント返信:

[ 一覧(最新更新順) ]


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