• ベストアンサー

エクセルでこんなことできますか?

上司に、調べるようにいわれたんですが・・。 エクセルのシートにオートシェイプで作った図が5つあります。その図をマクロのボタンで表示したり、隠したりできますか?ただし1つの図に対してボタンは1つです。場所が狭いため、表示するボタンと非表示にするボタン合計10個の置き場がないらしいのです。図形5個はそれぞれ独立していて、同時に2個表示したり、5個表示したり、あるいは全部かくしたり、ということをしたいそうなんですが、どなたかお力をおかしください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Sheet1に四角形を貼り付けました。 またボタンを1つ貼り付けました。ボタンのクリック・イベントとして Sub ボタン6_Click() If Worksheets("sheet1").DrawingObjects(1).Visible = True Then Worksheets("sheet1").DrawingObjects(1).Visible = False Else Worksheets("sheet1").DrawingObjects(1).Visible = True End If End Sub としました。 ボタンをクリックすると、現われる・消えるが交互に 行われます。 これではダメですか。

violet-3
質問者

お礼

できました!ありがとうございました。ダメなどころか大助かりです。早速報告します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

>トグルボタンとは何でしょうか Toggle ButtonはToggle Switchから来ていて、つまみを上下に動かして開閉するスイッチです。toggleはコートなどのボタン代わりの服を止めるひもについている棒状の木製のボタンのようなもの。 これにスイッチの棒が似ていたからではないかと思う。ラヂオボタン(MACなどで)とも言う。VBAではオプションボタンとも言う。○の中に小●の表示されるもの。ラジオボタンは、旧式の自動車用ラジオでは、各チャンネルごとにボタンが割り振られていたので、それと似ているところから来る。 ON―押す-OFF-押す-ON-押すーOFF・・・ となるのが特徴。

全文を見る
すると、全ての回答が全文表示されます。
  • nishishi
  • ベストアンサー率39% (17/43)
回答No.4

トグルボタンを使ってON、OFFで表示、非表示をさせたら 5個のボタンでできると思いますけど、それじゃあ駄目なのでしょうか

violet-3
質問者

補足

ご回答ありがとうございます。トグルボタンとは何でしょうか?初めて聞いたので・・・

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

ごめんなさい。安易に「マクロの記録」で作ったのでミスしました。 Sub 表示切替() With Worksheets("sheet1").DrawingObjects(1) .Visible = Not .Visible End With End Sub #2さんの方法で良いのかなと思います。私が >あまりきれいではないですが といったのは、if ~ =true then        elseif~ =false then の部分がなんとかならないか…、と考えていました。 で、上のようなマクロはいかがかな。と再回答しました。 したがって他の部分は#2さんのままです。 ただ、DrawingObjects(1) は最初に作った図形なので、最初にフォームから「マクロ実行ボタン」なんか作ってしまうと、いきなり「実行ボタン」が非表示になって慌ててしまいますけどね。 では。

violet-3
質問者

お礼

できました!ありがとうございました。助かりました。早速報告します。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

あまりきれいではないですが、 Sub 表示切替() ActiveSheet.Shapes("Oval 1").Select If Selection.ShapeRange.Fill.Visible = False Then Selection.ShapeRange.Fill.Visible = True ElseIf Selection.ShapeRange.Fill.Visible = True Then Selection.ShapeRange.Fill.Visible = False Else End If If Selection.ShapeRange.Line.Visible = False Then Selection.ShapeRange.Line.Visible = True ElseIf Selection.ShapeRange.Line.Visible = True Then Selection.ShapeRange.Line.Visible = False Else End If End Sub というマクロで可能です。"Oval 1"というのは、私の実験した図が楕円だったので、ここは変更して使って下さい。 図形の中身と輪郭を別々に表示・非表示命令したものです。

violet-3
質問者

補足

早速の回答ありがとうございます。実行できたのですが、非表示にしたとき 図形のハンドルが残ってしまうのですが、何か間違っているのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル:VBAでシート上のオートシェイプ以外の図形を消去したい。

    お世話になります。 ★VBAでシート上のオートシェイプ以外の図形を消去したいのです。 No.1902175で、エクセルシート上の図形の削除方法をいろいろ教えていただきました。今回は、そのときにはあてはまらなかった、「オートシェイプをのぞく図形をVBAで削除したい」のです。 補足:シートは毎月のある行事等の予定表です。オートシェイプにはマクロを登録しているため消したくありません。その他の図は季節の行事に関するクリップボード等の図で、担当者がシートから毎月手作業で削除していたものです 以上、よろしくお願いいたします。

  • EXCELのボタンの整列

    EXCEL2000を使用してます。 ワークシート上にオートシェイプで同じ大きさのボタンの図形を10個ほど作成してマクロの登録をしています。 これらのボタンの位置がバラバラで見た目が悪いので、 きれいに整列させたいのですが、いい方法がありましたら教えてください。

  • Excelでマクロを消すには

    マクロが組み込まれているExcel2003のファイルがあります。 マクロについて詳しくわからないのですが、複数の伝票シートを一括印刷するボタンがあったり、 チェックボックスに応じてオートシェープや文字が切り替わる機能があります。 この伝票のひな形だけを使いたく、枠や文字だけを新しいシートに値でコピーし、 別名で保存しました。 ボタンやオートシェープはありません。 また、ツール→マクロを選んでも特に何も見当たりませんでした。 しかし、このファイルを開くたびに このファイルにはマクロが…  [マクロを有効にする][マクロを無効にする] というダイアログが表示されてしまいます。 マクロを消すといいますか、このダイアログが表示されないようにする方法がありましたら 教えてください。 よろしくお願いいたします。

  • VBAでこのような図形の移動はできますか?

    シート上にあるオートシェイプの図形を、コマンドボタンを押すと「○cm下へ△秒間かけて移動させる」とか「回転させる」というマクロはできますでしょうか? どなたか教えてくださいませんか?よろしくお願いします。

  • エクセル:シートの全コピー貼り付けでオートシェイプを除いて実行

    エクセルのシート(Cells)の全データをコピー&(別のシートへ)貼りつける(マクロを使用して貼りつけています)とき、「オートシェイプ」だけを除いた全データを貼り付けることは可能でしょうか? そのオートシェイプはマクロボタンとしているのですが、マクロを実行するたびにオートシェイプの貼付けが繰替えされるため、どんどん重なっていくのを防ぎたいのです。よろしくご指導ください。 ※このオートシェイプの貼付の繰返しによりファイルが重くなることはないでしょうか?ないのなら無視してもよいかとは思っています。

  • オートシェイプ図形の角度をマクロで変えたい

    エクセルのオートシェイプで図形を作って、それをグループ化して、 A1のセルへ数値を入力するとシート1上にあるオートシェイプの角度が変化するようにしたいのです。マクロで出来るでしょうか。 シート上の図形は、Group25 です。 エクセル2000を使用しています。 よろしくお願いします。

  • excel/vbaにてオートシェイプに名前の定義づけ

    こんにちは。教えてください。オートシェイプを描きそれに対し名前をつけました。ex)"図"と。それをコピーをすると同じ名前の図形がコピーされます。 同じ名前のついたオートシェイプに対して削除や非表示という操作をしたいです。 書き方を教えてください。 頭の中ではアクティブシートの中に名前が"図"と同じオートシェイプがあれば、そのオブジェクトを削除(非表示もしたい)しなさい。 ていうふうな書き方の感じでいいのでしょうか? VBAを勉強しはじめたばかりです。 教えてください。

  • エクセルで実行ボタンを加えたい!

    エクセルでマクロを組んだので、その実行をボタンにしたいのですが、普通のオートシェイプで実行ボタンを作るのでなくよくホームページでみたりするようなボタンにしたいのですが、どのようにシート上に設置したらよいのでしょうか??おしえてください。

  • エクセル内のオートシェイプ(楕円)内の数字検索

    Excel マクロでオートシェイプ(楕円)内の数字を検索するマクロを探しています。 数字は同時に複数検索できるように、シート内の複数のセルに数字を入力してボタンを押すと 検索が開始されるような物が有ればよいのですが。 下記のアドレス回答が近かったのですが オートシェイプ全種類の検索となってしまう 同時に複数の数字の検索が出来ないなどの 問題が有ります。 http://okwave.jp/qa/q4407755.html

  • Excel VBA コメントに関して

    Excel2003を使用しています。 VBAになるのかは定かではないのですが Excelの機能に「コメント」を付ける機能がありますよね セルに対してカーソルを合わすことで表示される黄色い枠のコメントのことをしるす。 これをオートシェイプやコマンドボタン等のオブジェクトに対してカーソルを合わせることに よってこのコマンドがなんなのかのコメントを付けたい場合Excelでできるのでしょうか? もし、できるとしたならばどのようにしたらいいのでしょうか? VBAを使いできるのか、もっと楽な方法があるのか 教えて頂きたいのです。 ご教授願えないでしょうか、宜しくお願いします(人>д<*ペコ謝) ※補足※ コマンドボタンやオートシェイプでテキストを入れてしまうとボタン自体が入れる文字数によって大きくなってしまうのでできるだけ小さいボタンを作り補足事項やヘルプとして使用したい。 コマンドボタンにはVBAプログラムを組むとして、オートシェイプならば、図形にマクロを登録するとして、カーソルを合わした時のみコメントを表示させたいということです。

専門家に質問してみよう