• ベストアンサー

マクロで2つの図形の内1つを透明にする記述

マクロで2つの図形の内1つを透明にするにはどう記述したらいいでしょうか。 それぞれの図形の名前のつけかたも教えてください。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>透明にするには 図形の塗りつぶしをなしに、枠線を無にするには   With ActiveSheet.Shapes("図形名")     .Fill.Visible = msoFalse     .Line.Visible = msoFalse   End With 図形を非表示にするのは   ActiveSheet.Shapes(1).Visible = False マクロを実行する毎に図形が見えたり、消えたり Sub Test()   With ActiveSheet.Shapes(1) '又は図形名 .Shapes("正方形/長方形 1")     .Visible = IIf(.Visible = True, False, True)   End With End Sub

perogou
質問者

お礼

ありがとうございました

その他の回答 (3)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

マクロを実行する毎に図形が見えたり、消えたり Sub Test2()   With ActiveSheet.Shapes(1) '又は図形名 .Shapes("正方形/長方形 1")     .Visible = Not .Visible   End With End Sub

perogou
質問者

お礼

ありがとう やってみますね

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

>それぞれの図形の名前のつけかたも教えてください。 参考に 図形の名前を設定/取得するには? https://tech.nikkeibp.co.jp/it/atcl/column/15/090100207/090100084/

perogou
質問者

お礼

ありがとうございました

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

透明にするのは面倒なので、 図の高さと幅を0にすることで見えなくする対応はいかがでしょうか? 名前を付け、区別したいとのことなので、 変数に格納する手段とNameプロパティを使う手段とを 考えてみました。前者の方が扱いやすいと思います。 以下がそのサンプルです。 Activeなシートに図が2つある前提のコードです。 よかったら参考にしてください。 Option Explicit  Dim MyHei As Long  Dim MyWid As Long  Dim Zu1 As Shape  Dim Zu2 As Shape 'Setを使う Sub Sample1Hide()  Set Zu1 = ActiveSheet.Shapes(1)  Set Zu2 = ActiveSheet.Shapes(2)  MyHei = Zu1.Height  MyWid = Zu1.Width  Zu1.Height = 0  Zu1.Width = 0  Cells(1, 1).Select End Sub Sub Sample1Show()  Zu1.Height = MyHei  Zu1.Width = MyWid End Sub 'Nameプロパティを使う Sub Sample2Hide()  With ActiveSheet   .Shapes(1).Name = "MyZu1"   .Shapes(2).Name = "MyZu2"   MyHei = .Shapes("MyZu1").Height   MyWid = .Shapes("MyZu1").Width   .Shapes("MyZu1").Height = 0   .Shapes("MyZu1").Width = 0   Cells(1, 1).Select  End With End Sub Sub Sample2Show()  ActiveSheet.Shapes("MyZu1").Height = MyHei  ActiveSheet.Shapes("MyZu1").Width = MyWid End Sub

perogou
質問者

お礼

ありがとうございました

関連するQ&A

  • windows7のマクロで図形に名前をつける

    Windows7のEXCELマクロで図形に名前をつけるにはどうしたらいいですか? XPの時は、マウスでなぞるだけでマクロの記述に名前が記録されましたけど・・・

  • excelで図形をマクロで消すのには

    excelでマクロを使用して 条件に合わせて図形をコピーして 帳票に貼り付けています。 そこで、次の帳票を作ろうとしたときに 先ほどコピーした図形を削除したいのですが マクロで削除する方法はありませんでしょうか? コピー~貼り付けなので毎回、名前が変わってしまうので 名称を指定して削除ができません。 なにかいい方法をお教えくださいませ。

  • エクセル図形間のテキストのコピー方法は?

     エクセル97のマクロの記述の質問です。  Sheet1とSeet2にそれぞれ図形があり、Sheet1の図形上のテキストをSheet2の図形にコピーしたいのですが、どう記述すればよいでしょうか?  図形をオブジェクトとして指定するのかと漠然と思うのですが、特定の図形のオブジェクトの名前をどうやって知(取得す)ればいいのかも、判りません。  よろしくご指導願います。

  • Excelのマクロで2つの図形を交互に、背面→前面に入れ替える 

    マクロで2つの図形を 前、後、前、後と入れ替えることによって動いている感じにしたいのですがどう記述したらいいでしょうか

  • エクセル2007 マクロで図形表示・非表示

    「ABC」と名前を付けた図形があります。 これを、マクロで表示・非表示にすることはできないでしょうか? よろしくお願いします。

  • マクロの記述をするには?

    すごく初歩的なことですが よくマクロが記述してあるHPや このサイトでもマクロを回答して頂いたりしていますが そのマクロをそのまんまコピー&ペーストで 使用したいのですが、どうすればいいのでしょうか? これがわからないもので せっかくいいマクロを教えていただいても 実践出来ずに困り果てています。 すいませんが、教えてください。

  • excelでマクロで図形をコピー、張り付ける

    Excelの画面で 挿入→図形で 作成した図形をマクロを使って コピーし、任意の箇所に張り付けたいのですが、図形が認識されないのか マクロが動作しません。どうしたらできるでしょうか?

  • マクロ記述

    マクロで、読み取り専用のファイルを開いたときに、ダイアログが表示されますが、ダイアログ表示を出さなくて、はいというボタンを押した状態で開かせるには、マクロの記述はどのようになるのでしょうか。 教えてください。 例読み取り専用ファイル名test.xls

  • マクロ記述の簡略化

    以前 教えていただいた式コピーの マクロについてなのですが A1にデータがあり B1に式があって その式をA列のデータがある部分までBにコピーするという 内容で教えていただきました。 これで同様にC1にも式があり その式をA列のデータがある部分までCにコピーするという 内容を付け加えたのですが とりあえずまったく同じマクロを記入して 変数を変えてB1部分の記述をCIに置き換えて ・・・という方法でしましたところ 当然ばっちり動くのですが なんせ同じ記述を2回しているので 見にくくなっていたり動作が遅くなりそうで もっとすっきりした記述があればと思っています。 なにか良い方法ありましたら御教授願います。 私に応用力がないものでお手数おかけいたします。 参照URLのfreezemoon様から教えていただいた マクロについてです。 http://okweb.jp/kotaeru.php3?q=936658

  • マクロの記述を非表示(隠したい?)にしたいです。

    マクロの記述を非表示(隠したい?)にしたいです。 初心者なもので質問の仕方が悪いのかも知れませんがよろしくお願いします。 「マクロの記述が見えないようにしたいのでその方法があれば教えて下さい。修正したいときに自分だけマクロの記述が見えるようにしたいです。また、例えばですが番号(パスワード?)を入力したときに、***とか●●●という具合に表示する方法も合わせて教えていただければと思っています。」 初心者なので詳しい設定というかやり方が良く解っていません。というかプロの方々からみて全く解っていないと言う表現のほうが合ってると思いますがよろしくお願いします。

専門家に質問してみよう