- ベストアンサー
エクセルマクロで元号の1を元に変更
全列の2行目にそれぞれ日本の元号が入っていますが、「1」でやってしまったので「元」の漢字一字にすべて置換してください A・B、C・D、E・F、G・H列………と2列一組ごとにセルの結合はしています 令和1→令和元 平成1→平成元 昭和1→昭和元 ・ 元禄1→元禄元 ・ 大化1→大化元 以上248種類有ります 検索は「1」のみの完全一致で「元」に変更で 明治11→明治元元にならないようにしてください ほとんどが2文字漢字ですが4文字漢字の元号もあります ※数値の後の「年」は省略して付けていませんので考慮しないでください
- みんなの回答 (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
その他の回答 (2)
- Kuroneko0422
- ベストアンサー率25% (2/8)
https://akira55.com/substitute/amp/ とあとは ifでかこって1の文字が1つ以上もしくはその後に他の数字がある場合そのままにするというようにしたらどうでしょうか
- w4330
- ベストアンサー率25% (377/1477)
ヒント 文字列の右端を検査し「1」なら文字列の右端を切り取った文字列に「元」を加える
お礼
ありがとうございました この前の方ですね いつもお世話様です