• ベストアンサー

VBAを使用し、選択肢をオートシェイプで囲うには

VBA初心者で時々お世話になっております。 セルA1:A2 B1:B2 C1:C2 に自動 切 遠方と表示さています。 この選択肢の一つをダブルクリックすることでオートシェイプの○(塗りつぶし)で囲いたいです。 また、囲う選択肢を変更したい場合(例、切→遠方)遠方をダブルクリックすると切の○が消え、遠方に○が付くようにしたいです。 いろいろ試したのですがうまくいきません。 結合セルだとだめなのでしょうか? どなたか分かる方がいましたら教えて下さい。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.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

urbt86703
質問者

お礼

教えていただき度ありがとうございました。

関連するQ&A