• ベストアンサー

ExcelのVBA セル内の文字書き換えについて

例えば、H列の100から200までの行に H100「なし1-1」 H101「なし1-2」 H103「なし1-3」 H104「なし2-1」 のように文字が入ってるとします。 この100~200の行に入っている「なし」の部分だけを「りんご」に変えたい場合はどういったVBAを書けばいいのでしょうか。よろしくお願いしますm(_ _ )m

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です。 補足の関数での方法について・・・ どこか使っていないセルに =SUBSTITUTE(H100,"なし","りんご") という数式を入れ100行分オートフィルで下へコピー! もし元のセルに表示させたい場合は 数式が入ったセルを範囲指定 → 右クリック → コピー → H100セルを選択 → 「形式を選択して貼り付け」を選択 → 「値」にチェックを入れOK これで何とか希望通りにならないでしょうか?m(_ _)m

mzakom
質問者

お礼

おおー素晴らしい(*゜▽゜ノノ゛☆パチパチ 丁寧でわかりやすくて助かりましたm(_ _ )m ありがとうございます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 関数で簡単にできますが・・・ VBAをご希望だというコトなので、 一例です。 Sub test() Dim i As Long For i = 100 To 200 Cells(i, "H") = Replace(Cells(i, "H"), "なし", "りんご") Next i End Sub こんな感じではどうでしょうか?m(_ _)m

mzakom
質問者

補足

見事に綺麗にできました。 >関数で簡単にできますが・・・ そうなんですか!?てっきりVBAじゃないとできなと思っていました(≧ヘ≦) よろしければ今後の参考の為に関数の方もご伝授頂けないでしょうかm(_ _ )m

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

ご例示の先が読めませんが、先ずは範囲の選択→置換の操作をマクロ記録して確認してみて下さい。 多分、以下の様なコードが標準モジュールに記録されていると思います。 Sub Macro1() ' ' Macro1 Macro ' ' Range("H100:H200").Select Selection.Replace What:="なし", Replacement:="りんご", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub

関連するQ&A