- ベストアンサー
VBAを使用し、選択肢をオートシェイプで囲うには
VBA初心者で時々お世話になっております。 セルA1:A2 B1:B2 C1:C2 に自動 切 遠方と表示さています。 この選択肢の一つをダブルクリックすることでオートシェイプの○(塗りつぶし)で囲いたいです。 また、囲う選択肢を変更したい場合(例、切→遠方)遠方をダブルクリックすると切の○が消え、遠方に○が付くようにしたいです。 いろいろ試したのですがうまくいきません。 結合セルだとだめなのでしょうか? どなたか分かる方がいましたら教えて下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どう言う事を試されたのか書いていただけると的確なアドバイスが付くと思いますよ。 私がやるなら、予めオートシェイプの円を3つそれぞれのセルを囲むように描いて置いて(Oval 1~3 と仮定)、セルのダブルクリックでその3つを一旦非表示にしてダブルクリックされたセルに応じてオートシェイプを表示に変更します。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ActiveSheet.Shapes("Oval 1").Visible = msoFalse ActiveSheet.Shapes("Oval 2").Visible = msoFalse ActiveSheet.Shapes("Oval 3").Visible = msoFalse Select Case Target.Address Case "$A$1:$A$2" ActiveSheet.Shapes("Oval 1").Visible = msoTrue Case "$B$1:$B$2" ActiveSheet.Shapes("Oval 2").Visible = msoTrue Case "$C$1:$C$2" ActiveSheet.Shapes("Oval 3").Visible = msoTrue End Select End Sub
お礼
教えていただき度ありがとうございました。