dポイントプレゼントキャンペーン実施中!

VBAを勉強し始めました。
本当に単純な質問で申し訳ありませんが、
教えてください。

VBAで選択したセルのみに処理を実施するにはどのようにすればいいでしょうか?
例えば、任意に選択したセル全てに一括で"○"を入力する。
です。

宜しくお願い致します。

A 回答 (3件)

質問の場合はたまたま


Sub test01()
Selection.Value = "○"
End Sub
で、出できるが
>選択したセルのみ処理を実施するには
一般に通用するパターではない。
個別に勉強しないとならない。
その中で
Sub test02()
For Each cl In Selection
cl.Value = "○"
Next cl
End Sub
のやり方は汎用性が大きい。
cl.Value = "○"のところの処理が色々。
ーー
2つの離れたセル範囲の塊をCTRLを押して指定し
Sub test03()
Selection.Copy Range("c10")
End Sub
を実行すると、意に沿わない場合もありえる。
個別に考えないといけない例。
    • good
    • 0
この回答へのお礼

大変参考になりました。ありがとうございます。
また機会があれば、是非教えて下さい。

お礼日時:2009/10/05 21:26

>選択したセルのみに処理を実施するには



選択されたセルをひとつずつチェックする場合。

例えば、範囲選択したセルの、"○"を"●"に変更する場合。

'---------------------------------------- 
Sub Test()
 Dim myCell As Range

 For Each myCell In Selection
   If myCell.Value = "○" Then
     myCell.Value = "●"
   End If
 Next myCell

End Sub
'---------------------------------------

詳しくは、Selectionプロパティ
及び、For Each~Nextステートメントのヘルプを覗くこと。
以上です。
    • good
    • 0

>例えば、任意に選択したセル全てに一括で"○"を入力する。



Selection.Value = "○"

Selection プロパティを利用する。
マクロの自動記録でチョコチョコ出てきますね。
    • good
    • 0

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