エクセル(マクロ)置換2 置換用リストを1行ずつ読み込むには
おはようございます。
エクセルは使いなれてますがVBAは記録を使っていて
書き換える程度なので調べてもあまり理解できず困ってます。
先程質問して、結合セルの置換に関しては解決したのですが、
もし簡単にできるのであればと質問させて頂きました。
今置換用のシートは
A列に置換前の文字
B列に置換後の文字が入ってます。
そして対象のシートが置換されるようになってるのですが、
これが列ではなく
1行目に置換前の文字
2行目に置換後の文字として処理するのには
どこを書き換えればよろしいのでしょうか?
色々試しましたがうまくいきませんでした。
実は、1行目に(A1セルに学生名(1)・A2のセルに住所(1))など20個くらい項目があります
2行目以降に5000行程、学生のデータが入ってます。
各会社の履歴書フォーマットは違うのですが、
入力欄が学生名(1)や住所(1)など入っている項目が同じなので
置換しております。
今は、1行ずつ下のデータを置換シートに貼り付けて
履歴書のシートで置換えをして
新しいファイルにコピーし保存して次のデータという
アナログな処理をしております。
同じフォーマット(履歴書)でしたらvlookupなどが使えたのですが。。。
フォーマットによって1つのセルに、学生名(1)と住所(1)が両方入っていたりするので諦めました。
対象セルの場所も形も違いますしね・・・
列で処理していたマクロを参考に下に貼り付けました。
明日の昼までにあと4000行を処理しなければならなくて困ってます。
お手数ですがどうぞよろしくお願いいたします。
Sub 置換()
With ThisWorkbook
If ActiveSheet Is .Worksheets(1) Then Exit Sub
For i = 1 To .Worksheets(1).Range("A500").End(xlUp).Row
ActiveSheet.Range("A1:Z200").Replace _
What:=.Worksheets(1).Range("A" & i).Value, _
Replacement:=.Worksheets(1).Range("B" & i).Value, _
LookAt:=xlPart, SearchOrder:=xlByColumns
Next
End With
End Sub
お礼
chonami 様 ありがとうございました。 言葉足らずで申し訳ありませんでした。 データが多いので処理過程を短くしたいのです。 SUBSTITUTE関数は勉強になりました。 また、改めて質問させていただきます。 簡単で恐縮ですが、お礼申し上げます。