• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列リストと部分的な完全一致で連続置換したい)

Excelのマクロで文字列の連続置換

このQ&Aのポイント
  • Excelのマクロを使用して、文字列の連続置換を行いたいです。
  • 置換は部分的な完全一致で行いたいので、文字列内の特定の部分だけを置換するようにしたいです。
  • マクロが苦手なので、効率的な方法があれば教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim h as range  dim r1 as long, r2 as long  worksheets("Sheet1").select  r1 = range("A65536").end(xlup).row  r2 = worksheets("Sheet2").range("A65536").end(xlup).row ’下拵え  with range("C1:C" & r1)   .formula = "=B1&IF(RIGHT(B1)=""\"","""",""\"")"   .value = .value  end with ’置換  for each h in worksheets("Sheet2").range("A1:A" & r2)   range("C:C").replace what:="\" & h.value & "\", _    replacement:="\" & h.offset(0, 1).value & "\", _    lookat:=xlpart, matchcase:=true, matchbyte:=true  next ’片付け  with range("D1:D" & r1)   .formula = "=LEFT(C1,LEN(C1)-(RIGHT(B1)<>""\""))"   range("B1:B" & r1).value = .value  end with  range("C:D").delete shift:=xlshifttoleft end sub みたいな。 #余談 >マクロが苦手なので マクロを考える前にまずアナタが自分の手を動かして,エクセルをどうやって操れば目的を達成できるのか手順を考えてみると,マクロとかも簡単に書けます。 エクセルの動かし方とか判らないでマクロだけ頑張っても,まぁ出来ないとは言いませんが,ハマルだけです。

tnk1127
質問者

お礼

ありがとうございます。 やりたいことができました!! ご指定の通りマクロって手でやることの自動化ですもんね。 マクロだけでなくエクセルの使い方や考え方についても学んでいけたらと思っています。 本当に助かりました。