前提・実現したいこと
sheet1の設問・回答番号を複数のシートを参照し、一致した場合にテキストへ変換したいです。
自身で対応できた範囲はコードへ記述しました
sheet1のA列とsheet2のA列が一致した場合、sheet2のB列に置換するという初歩的な所までです。
こちらを応用し対応できるかご教示いただけないでしょうか。
■sheet1の回答番号をテキストへ変換したい(既にテキストのセルはそのまま)
背景が青を実行後、緑にしたい
■sheet1の2行目以下の数字はanswertitleのD列を置換したい
条件がsheet1 1行目のQ1...がanswertitle A列と一致している、かつ2行目以下の数字がC列と一致している
ただし、Q4のように_1・_2...となってる複数回答の場合は1のみしか存在しないためA列が一致してればOK
■sheet1の1行目 Q1...はtitle A列が一致した場合、B列を置換したい
ただし、Q4のように_1・_2となってる複数回答の場合は_1のみ変換。_2以降は空白
※複数回答時の設問・回答内容が変だと思いますが、ランダムに設定したため気になさらないようお願いいたします。
該当のソースコード
VBA
1Sub テキストに置換() 2 3 Dim st1 As Worksheet 4 Dim st2 As Worksheet 5 Dim result As Range 6 Dim r As Long 7 8 Set st1 = Worksheets("Sheet1") 9 Set st2 = Worksheets("Sheet2") 10 11 r = 2 12 Do While st1.Cells(r, 1).Value <> "" 13 Set result = st2.Range("A:A").Find(st1.Cells(r, 1).Value) 14 If Not result Is Nothing Then 15 st1.Cells(r, 1).Value = st2.Cells(result.Row, 2).Value 16 End If 17 r = r + 1 18 DoEvents 19 Loop 20 21End Sub