• ベストアンサー

VBA トグルボタンで楕円表示 非表示方法

お世話になります VBAユーザーフォーム内でトグルボタンを生成しクリック時に セル指定及び座標表示、非表示をさせたいのですがわかる方よろしくお願いします。 又、同じフォーム内で複数使用します

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

#1です。 > 確認させて頂いたところ楕円が作成されませんでした。 いや、作成してませんから、、、 読み返しましたがご質問に「楕円を作る」話は無いように思えます。 先の例は、実行前に出来ている物の表示・非表示を切替えます。 以下ではどうでしょうか? myW と myH はランダム設定にしてありますが、適当な数字を代入しても良いです。 但し、セルA1の範囲外になるとトグルのOffで消せません。 Private Sub ToggleButton1_Click() Dim sh As Shape, myW, myH If ToggleButton1.Value Then   Randomize   With ActiveSheet    myW = Int(((.Range("A1").Width - 1) * Rnd) + 1)    myH = Int(((.Range("A1").Height - 1) * Rnd) + 1)    Set sh = .Shapes.AddShape(msoShapeOval, _         .Range("A1").Left + myW, _         .Range("A1").Top + myH, _         .Range("A1").Width + myH, _         .Range("A1").Height + myW)    sh.Fill.Visible = msoFalse   End With Else   For Each sh In ActiveSheet.Shapes     If sh.TopLeftCell.Address = "$A$1" And _      sh.AutoShapeType = msoShapeOval Then         sh.Delete     End If   Next End If End Sub

BSR123
質問者

お礼

ありがとうございます 解決しました

BSR123
質問者

補足

ありがとうございます

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

その他の回答 (2)

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

先日も全く同じ質問に答えました。質問の内容が良くわからなかったが、ヒントになればと思ってあげました。 また同じ質問をしていますが、#1の方も「ちょっと意味が解りませんでした」といっておられます。 >セル指定及び座標表示、非表示をさせたいのですが もう少し具体例を挙げて説明されては堂ですか。 >わかる方よろしくお願いします 判らないものは答えなくて良いという態度でなく、回答者の疑問とか回答例では希望通りでない点は、(その回答者には手におえなくとも)他の回答者の回答のヒントになるので、よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ちょっと意味が解りませんでした。 左上がセルA1に掛かる位置にあるオートシェイプの楕円をUserForm上のトグルボタンで表示・非表示を切替えるなら下記のような感じでしょうか、、、 Private Sub ToggleButton1_Click() Dim sh As Shape For Each sh In ActiveSheet.Shapes  If sh.TopLeftCell.Address = "$A$1" And _    sh.AutoShapeType = msoShapeOval Then     sh.Visible = ToggleButton1.Value  End If Next sh End Sub

BSR123
質問者

お礼

ありがとうございました

BSR123
質問者

補足

お返事ありがとうございます 確認させて頂いたところ楕円が作成されませんでした。 ユーザーフォーム内のトグルボタンをONにするとsheet1内のA1に塗りつぶしなしの楕円を作成させたいのです。 又、楕円の大きさや、A1内での座標指定までできれば幸いです 説明不足で申し訳ありません。

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

関連するQ&A

  • VBA エクセルでのトグルボタン 楕円について

    お世話になります 【概要】 トグルボタンクリック時、楕円の挿入について 【わからないこと】 トグルボタンクリック時(ON)に楕円(透明)を挿入(できればセル指定ではなく場所指定)しOFFの時は楕円が消える仕組みを作りたいのですが、わかる方よろしくお願い申し上げます。 又、複数ボタン生成する予定なのでボタンクリック時に色など付けば幸いです。

  • VBAのトグルボタン

    初心者なもので、「なにをこんな」とお思いかもしれませんが、教えてください。 ユーザーフォーム内にトグルボタンを設置しています。当たり前なのですが、一度トグルボタンを押し再度ユーザーフォームを呼び出すとトグルボタンが押された状態のまま表示されます。 理想はトグルボタンを押した状態でユーザーフォームを閉じて、またユーザーフォームを呼び出しても押されていない状態で表示することです。 ネット等でも調べましたが、これというものがなかなかなかったので質問しました。よろしくお願いします。

  • Excel VBA トグルボタンで一定のセルへ楕円を書き込みしたり消したりしたいのですが

    Excel VBAの初心者です。Web検索で同じ事例がないか検索をしてみましたが、2件程近いものがありましたので、それを参考に自力でやってみましたが、書き込みまではすんなりいきますが、トグルボタンをOFFにした場合(消すという動作)がどうも旨くいきません。どなたか宜しくお願いします。 根本的にVBAのコードが全部理解出来ていないというレベルですので、その辺をお察しの上お願いします。 実施したい内容は以下の条件下で行いたいと思います。 (1)sheet1にトグルボタンを作成 (2)トグルボタンを押した時、sheet2の2箇所のセル(AJ3とCJ3)と、sheet3の2箇所のセル(AJ3とCJ3)に楕円(透明)を書き込む (3)トグルボタンを押した時、トグルボタン自体の色を赤色に変更 (4)トグルボタンを戻した時、(2)の作成した楕円を消す。またトグルボタン自体の色を元の色に戻す。

  • Excel VBA トグルボタンのコントロール

    お世話になります。 現在、ユーザーフォームにて管理アプリもどきを作成しているのですが、 以下の様な動作を行うことが可能かどうか、 また可能であればどのような方法があるのかをご教授ください。 ////////////////////////////////////////////////////////// フォーム上に、トグルボタンを複数個配置します。 例として、下図をトグルボタンを5つ配置したものと仮定します。 Valueプロパティは全てFalseを初期値とします。  □□□□□ 左から2つ目のトグルボタン上でマウスクリックし、 そのままクリックを押し込んだままの状態にします。 この時点で、2つ目のボタンのValueプロパティをTrueに変更します。  □■□□□    ↑クリック(押し込んだまま) クリックを押し込んだまま、マウスを右に移動させます。 左から3つ目、4つ目のボタン上にカーソルがきた時点で 3つ目、4つ目のValueプロパティをTrueに変更します。  □■■■□       ↑クリック(押し込んだまま) 左から4つ目のトグルボタン上でクリックを離します。 クリックされていない状態でマウスカーソルが上に乗っても Valueの変更は行われません。 ////////////////////////////////////////////////////////// MouseMoveを試してみましたが、ドラッグ中は処理が発生しないようなので どうしたものか困ってしまいました。 ご助力、よろしくお願い致します。

  • エクセルVBAでコンボボックスの非表示について

    最近VBAを勉強し始めたのですが、コントロールについてわかりませんので、ご教授お願いします。 コンボボックスを初期では非表示、トグルボタンをクリックすると、コンボボックスを表示させる方法を教えてください。 ユーザーフォームについてまだ未熟なので、すみませんがよろしくお願いします。

  • トグルスイッチをVBAでコントロール

    マイクロソフトアクセス2000で作成しています。 メインフォームとサブフォームを使っています。 メインフォームにあるトグルスイッチを押した時に、サブフォームの最新レコードに移動したいと 考えています。 ボタンを押したときに、VBAの命令は動くのですがトグルスイッチが押した状態になりません。 VBAで押した状態にしようとしても命令言語がわかりません。 ご教授をお願い致します。 Me.トグルスイッチ1=true <- ここが動きません。 DoCmd.GoToControl "サブフォーム名" DoCmd.GoToRecord , , acNewRec

  • Access トグルボタンが凹みません

    Accessでトグルボタンの操作方法について教えてください。 オプショングループの中に4つのトグルボタンを置いて、 オプションボタンのように使用したいと思っています。 (押下したボタンが凹み、他の3つのボタンは凸状態にする) 画面表示時、オプション値が1のボタンが凹んだ状態で表示されて いるのですが、他のボタンを押しても押下状態になりません。 (コマンドボタンのように、マウスをはなすと戻ってしまいます) 押下時に凹状態にするには、設定が必要なのでしょうか? 原因がわからなくて困っています。

  • ExcelVBA UserFormに沢山のボタンを貼り付けたい

    Excel2003のVBAを使っています。 コマンドボタンが沢山付いたユーザーフォームを起動したいのですが、 フォームに貼り付けるコマンドボタンの個数は、マクロを実行した時に決めたいです。 (例えば任意のセルの値を読み込むなどして) 要するにコードの中で、コマンドボタンの生成をしたいのですが、 可能でしょうか。 VBでプログラム組んでる知人に聞いたところ、「コントロール配列」なるものを利用すれば可能だそうですけど、 VBAにはそれが無いと聞きました。

  • VBAで画像を表示する方法

    VBA初心者です。ExcelのVBAでプログラミングの練習をしています。 早速ですが質問させてください。 ユーザーフォーム上にコマンドボタンをクリックすることにより画像を表示させることはできるのですが、これをユーザーフォームを開いた瞬間に自動的に表示させる方法はないのでしょうか? ちなみに現在は以下のようにしています。 Private Sub CommandButton1_Click() Image1.Picture = LoadPicture(" ") End Sub インターネットで調べてみても見つからないので質問させてもらいました。分かりにくい説明でしたらすみません。

  • エクセルVBAの質問です。

    エクセルVBAでユーザーフォーム上からセルを選択したいのですが、可能でしょうか? 当初はユーザフォーム上のボタンにRange("a1").selectを入れておき、ボタンをクリックするとA1セルが選択状態になり、キーボードで入力できると思ったのですが、駄目でしたorz とまぁユーザーフォーム上のボタンを押すとキーボードでセルに直接入力ができる状態にしたいです。 アドバイスの程よろしくお願いします!

専門家に質問してみよう