• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel VBAで、置換した結果を別のセルに出力)

excel VBAで文字列置換結果を別のセルに出力する方法

このQ&Aのポイント
  • excel初心者のためのVBAで文字列置換結果を別のセルに出力する方法を教えてください。
  • 商品名が多いため、SUBSTITUTE関数では対応できないため、VBAを使用しています。
  • VBAにはreplace関数がありますが、上書きしかできないため、別のセルに出力したいです。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1721/2591)
回答No.2

もともとB列に旧商品名があってそれをC列に代入してB列の旧商品を新商品に変換するという動作でしたら たとえば Range("C" & i).Value=Range("B" & i).Value と必要な分だけループか検索かで代入しておいて あとは B列の商品名をreplaceで書き換えたらいかがでしょう。 > また、VBAについて初心者向けにわかりやすく解説しているサイト エクセル vbaで検索したら色々出てきますのでご自身にあったページを参考にしてみてください。 たとえば http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/ とか http://officetanaka.net/ とか http://www.happy2-island.com/excelsmile/ などいかがでしょう。 基本的に「エクセル vba やりたいこと(たとえばファイルを開くとか)」で検索すると解説しているページが結果として出てきますので、その中で分かりやすいページを見つけるのもいいかと思います。

necology222
質問者

お礼

ありがとうございます!代入してから置き換える、目から鱗でした!お陰様で解決しました。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

VBAが万能なわけではありません。 今回のケースは関数で十分だと思います。 添付の図を見て下さい。 置換したい旧商品名、新商品名のリストをG2:H5に作りました。 セルB2の新商品名のセルに入れた演算式は↓です。 =IFERROR(VLOOKUP(C2,$G$2:$H$5,2,FALSE),"")

necology222
質問者

お礼

ありがとうございます!今回はvbaで解決しましたが、関数でもできるということ、とても参考になりました!

関連するQ&A