• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelマクロで置換)

Excelマクロで置換

このQ&Aのポイント
  • Excelマクロを使用して、指定の条件に基づいてセルの置換を行いたい場合の方法について教えてください。
  • セルA1に特定の数字が含まれているシートを選択し、そのシート内の特定の文字列を別の文字列に置換するExcelマクロの作成方法について教えてください。
  • マクロを使用して、複数のシートに対して自動的に置換を行う方法について教えてください。

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

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

sub macro1  dim a, aa  dim a1,a2  dim i  dim ck as boolean  dim s as worksheet  dim w as workbook  a = array("*130*","*397*","*430*","*440*")  a1 = array("あああ","いいい","ううう")  a2 = array("かかか","ききき","くくく")  set w = workbooks.open(filename:="c:\どこそこ\book1.xls")  for each s in w.worksheets   ’シートが作業対象に該当か調べる   ck = false   for each aa in a    if left(s.range("A1"), 6) like aa then     ck = true    end if   next   if ck then   ’置換する    for i = 0 to ubound(a1)     s.cells.replace what:=a1(i), replacement:=a2(i), lookat:=xlwhole    next i   end if  next end sub とか。 #置換の条件が不明 #最初の6桁の中に「含まれる」が曖昧 #対象のブックも不明 #「対象の文字列は多いので別マクロで作成し呼び出したい」とか意味不明なのでご自分で作成してください #「なかなか上手く行かない」で結局丸投げです。せめて「ここが判らない」ところをピンポイントで質問してみては。

ybsteed
質問者

お礼

>#最初の6桁の中に「含まれる」が曖昧 下3桁が130,397,430,440どれかを含む数字があった場合置換処理をしたいと言う事です。 >#対象のブックも不明 処理をかけたいExcel自体です。 >#「対象の文字列は多いので別マクロで作成し呼び出したい」とか意味不明なのでご自分で作成してください 文字列は約20文字位のものが30個程あるので全部を羅列するのはわかりずらいかなと思ったもので。 >#「なかなか上手く行かない」で結局丸投げです。せめて「ここが判らない」ところをピンポイントで質問してみては。 重々承知の上です。参考にさせて頂き自分で作成してみてさらに判らない所があれば質問させて頂きたいと思います。有難う御座いました。