プロが教えるわが家の防犯対策術!

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

A 回答 (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

この回答への補足

ありがとうございます

補足日時:2007/06/23 14:39
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/23 14:40

先日も全く同じ質問に答えました。

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

ちょっと意味が解りませんでした。



左上がセル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

この回答への補足

お返事ありがとうございます
確認させて頂いたところ楕円が作成されませんでした。

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

補足日時:2007/06/22 00:04
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2007/06/23 14:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!