都道府県穴埋めゲーム

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

A 回答 (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さんのコードを一部お借りしました、有難う御座います
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/09/28 22:04

選択したセルに円を描くということでしょうか?


で、あればこんな感じでしょうか、セルを選択してから動かしてください。
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

なお、サンプルですので、エラー処理などは行っていません。悪しからず。
    • good
    • 0
この回答へのお礼

mt2008様 早速のご回答ありがとうございます。
選択セルを一度に丸付けができるので便利に利用させていただけそう
です。なるほどうまく記述されていると率直に思いました。

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

お礼日時:2009/09/25 23:20

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


おすすめ情報