• ベストアンサー

エクセルマクロで元号の1を元に変更

全列の2行目にそれぞれ日本の元号が入っていますが、「1」でやってしまったので「元」の漢字一字にすべて置換してください A・B、C・D、E・F、G・H列………と2列一組ごとにセルの結合はしています 令和1→令和元 平成1→平成元 昭和1→昭和元 ・ 元禄1→元禄元 ・ 大化1→大化元 以上248種類有ります 検索は「1」のみの完全一致で「元」に変更で 明治11→明治元元にならないようにしてください ほとんどが2文字漢字ですが4文字漢字の元号もあります ※数値の後の「年」は省略して付けていませんので考慮しないでください

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

以下でいかがでしょうか。 Option Explicit Sub sample()    Dim c As Long '列番号変数    c = 1  Do   If Cells(2, c).Value = "" Then Exit Do   Cells(2, c).Value = OrgChange(Cells(2, c).Value)   c = c + 2  Loop   End Sub Function OrgChange(iText As String) As String  If ((Right(iText, 1) = "1") And _   (IsNumeric(Right(iText, 2)) = False)) Then   OrgChange = Left(iText, Len(iText) - 1) & "元"  Else   OrgChange = iText  End If End Function

noname#252486
質問者

お礼

ありがとうございました この前の方ですね いつもお世話様です

その他の回答 (2)

回答No.2

https://akira55.com/substitute/amp/ とあとは ifでかこって1の文字が1つ以上もしくはその後に他の数字がある場合そのままにするというようにしたらどうでしょうか

  • w4330
  • ベストアンサー率25% (377/1477)
回答No.1

ヒント 文字列の右端を検査し「1」なら文字列の右端を切り取った文字列に「元」を加える

関連するQ&A