• ベストアンサー

VBA 飛び飛びのセルを選択するには

B1からB5のセルの範囲のどこかに○という文字が あるとします。もし、B2とB4に○があったらその隣の A2とA4のセルを選択してコピーしたいのです。 このような場合どのようなVBAのコードを書けばいいのでしょうか? お分かりの方よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.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

VitaminBB
質問者

お礼

回答ありがとうございました。 ばっちりでした。

その他の回答 (1)

  • mohenjo
  • ベストアンサー率37% (125/335)
回答No.1

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

VitaminBB
質問者

お礼

回答ありがとうございます。 言葉足らずのところがあったので、補足しますと ○がある隣のAセルに○をコピーするのではなく、 ○がある隣のセルである、A2とA4を同時に選んでコピー したいのです。 A2に”あ”、A4に”う”と入力されていれば、”あ” と ”う”を 同時に選んでコピーし、別のセルに”あ”と”う”を貼り付けたいのです。

関連するQ&A