電子書籍の厳選無料作品が豊富!

例えば、H列の100から200までの行に
H100「なし1-1」
H101「なし1-2」
H103「なし1-3」
H104「なし2-1」

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

A 回答 (3件)

No.2です。


補足の関数での方法について・・・

どこか使っていないセルに

=SUBSTITUTE(H100,"なし","りんご")

という数式を入れ100行分オートフィルで下へコピー!

もし元のセルに表示させたい場合は
数式が入ったセルを範囲指定 → 右クリック → コピー → H100セルを選択 →
「形式を選択して貼り付け」を選択 → 「値」にチェックを入れOK

これで何とか希望通りにならないでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/08/06 20:53

こんにちは!


関数で簡単にできますが・・・
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

この回答への補足

見事に綺麗にできました。

>関数で簡単にできますが・・・

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

補足日時:2012/08/06 12:40
    • good
    • 0

ご例示の先が読めませんが、先ずは範囲の選択→置換の操作をマクロ記録して確認してみて下さい。


多分、以下の様なコードが標準モジュールに記録されていると思います。

Sub Macro1()
'
' Macro1 Macro
'

'
Range("H100:H200").Select
Selection.Replace What:="なし", Replacement:="りんご", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!