- ベストアンサー
VBA 飛び飛びのセルを選択するには
B1からB5のセルの範囲のどこかに○という文字が あるとします。もし、B2とB4に○があったらその隣の A2とA4のセルを選択してコピーしたいのです。 このような場合どのようなVBAのコードを書けばいいのでしょうか? お分かりの方よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでしょうか。VitaminBBさんなら「標準モジュール」に貼り付けることはご存じですよね。 Sub Macro2() Dim r, trg As Range Dim cnt As Integer For Each r In Range("B1:B5") If r.Value = "○" Then If trg Is Nothing Then Set trg = r.Offset(0, -1) Else Set trg = Application.Union(trg, r.Offset(0, -1)) End If End If Next r If Not trg Is Nothing Then trg.Select End If End Sub
その他の回答 (1)
- mohenjo
- ベストアンサー率37% (125/335)
Sub trial() Dim rngS As Range For Each rngS In Range("B1:B5") If rngS.Value = "〇" Then rngS.Offset(, -1) = rngS.Value End If Next rngS End Sub
お礼
回答ありがとうございます。 言葉足らずのところがあったので、補足しますと ○がある隣のAセルに○をコピーするのではなく、 ○がある隣のセルである、A2とA4を同時に選んでコピー したいのです。 A2に”あ”、A4に”う”と入力されていれば、”あ” と ”う”を 同時に選んでコピーし、別のセルに”あ”と”う”を貼り付けたいのです。
お礼
回答ありがとうございました。 ばっちりでした。