• ベストアンサー

エクセルで2箇所同時に字に丸囲みをしたい。

様式Aで選んだ番号記号(123アイウABC有無など)セルをダブルクリックすればその番号記号に丸囲みができると同時に様式Bにもその同じ番号記号に丸囲みができているとするにはどのようなマクロになるでしょうか? 様式Aと様式Bは同じシートで上下2段でかまいませんし、ダブルクリックでなくてもセル指定後マクロボタンをクリックでもよいです。 アクティブのセル番地取得しその行プラス行目に円を描くということだろうと想像していますが私は初心者のためそこから先に進めません。 マクロ本やネットを探しましたが見当たりませんでした。 どうかよろしくお願いします。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

>アクティブのセル番地取得しその行プラス行目に円を描くということだろうと想像していますが そこまで分っていて、なぜオフセット値を書かないのでしょうか? >A様式(相手に提出用) >項目a (1) アメリカ 2 イギリス 3 韓国 >この様に ” 1 アメリカ ” に(1)は囲みの○1とつけると >       ↓ >B様式(自分の控え用) >項目a  1 アメリカ 2 イギリス 3 韓国 >にはマクロで自動で ” 1 アメリカ ”に1に囲み○印がつく >ようにしたいわけです。 こんなことは回答者には関係ないことで、A様式とB様式の オフセット値が知りたいのです 例えば、セルA1に丸したときA10にも丸がしたいとか セルC5に丸したとき10下のセルにも丸がしたいとかね 'シートモジュールへコピペ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) With Target ActiveSheet.Shapes.AddShape(msoShapeOval, .Left, .Top, .Width, .Height).Fill.Visible = False Cancel = True With .Offset(10) ActiveSheet.Shapes.AddShape(msoShapeOval, .Left, .Top, .Width, .Height).Fill.Visible = False End With End With End Sub 設置方法は 対象のシートタブを右クリックしコードの表示を選択 対象のシートモジュールが表示されるのでコードをコピペ モジュールを閉じる オフセット値は適当に決めました、下方向に10としています セルをダブルクリックすれば10下のセルにも丸が付きます オフセット値の調整はご自分でお願いします 参考まで 最後に mt2008さんのコードを一部お借りしました、有難う御座います

0530_ken
質問者

お礼

hige_082様  このたびは大変明快で丁寧なご回答ありがとうございます。 質問の仕方が余計な表現となってしまっていました。 質問方法も以後気をつけたいと思います。 早速試しましたところ、まさに自分が希望していたとおりの マクロです。本当に助かりました。 これを機会にマクロの勉強に取り組んでいきたいと思いました。 改めてお礼申しあげます。ありがとうございました。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

選択したセルに円を描くということでしょうか? で、あればこんな感じでしょうか、セルを選択してから動かしてください。 2箇所に限定せず、選択されたセル全てに対して円を描いています。 Sub Sample()  Dim a As Range  For Each a In Selection   With a    If .Address = .Item(1).Address Then     ActiveSheet.Shapes.AddShape(msoShapeOval, .Left, .Top, _      .Width, .Height).Fill.Visible = False    End If   End With  Next End Sub なお、サンプルですので、エラー処理などは行っていません。悪しからず。

0530_ken
質問者

お礼

mt2008様 早速のご回答ありがとうございます。 選択セルを一度に丸付けができるので便利に利用させていただけそう です。なるほどうまく記述されていると率直に思いました。 あともう少しひと工夫お願いしたいところがあるのです。 A様式(相手に提出用) 項目a (1) アメリカ 2 イギリス 3 韓国 この様に ” 1 アメリカ ” に(1)は囲みの○1とつけると        ↓ B様式(自分の控え用) 項目a  1 アメリカ 2 イギリス 3 韓国 にはマクロで自動で ” 1 アメリカ ”に1に囲み○印がつく ようにしたいわけです。 A様式だけにセル選択で○印をつければ自動でB様式ができている 状態にしたいわけなのです。 1項目だけの例としましたが実際には項目が多数あります。 せっかくのエクセル活用ですので最少手数で○付けをしたいわけなんです。 A様式とB様式は同じシートに上下で並べるつもりです。 どうかよろしくご教示お願いいたします。

関連するQ&A