重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Excel VBAに関する質問です。
指定したセル範囲の中で、人月という文字を含む文字が入ったセル
を見つけ、そのセルに入った文字を全てクリアにしたいと考えています。

良い方法をご教授いただけませんでしょうか。

人月という文字を含む文字は[0人月]や[2.5人月]など多岐に渡るので、
自分のイメージでは、人月という言葉だけで検索してひっかかるものを全て消そうと思っています。
なお、該当の文字はB列にしかありません。

宜しくお願い致します。

A 回答 (3件)

[置換]で「検索する文字列」に



*人月*

と入れて、「置換後の文字列」に何も入力せずに実行する作業をマクロ記録取れば参考になると思います。

Columns("B:B").Replace What:="*人月*", _
            Replacement:="", _
            LookAt:=xlPart, _
            SearchOrder:=xlByRows, _
            MatchCase:=False
    • good
    • 0

No1です一部訂正です(前回のままだとエラーが出ます)



Sub test()

Dim mRange As Range
Dim firstAddress As String

With Worksheets(1).Range("B:B")
Set mRange = .Find("人月", LookIn:=xlValues)
If Not mRange Is Nothing Then
firstAddress = mRange.Address
Do
mRange.Clear
Set mRange = .FindNext(mRange)
If mRange Is Nothing Then Exit Do
Loop Until mRange.Address = firstAddress
End If
End With

End Sub
    • good
    • 0

Sub test()


Dim mRange As Range

With Worksheets(1).Range("B:B")
Set mRange = .Find("人月", LookIn:=xlValues)
If Not mRange Is Nothing Then
firstAddress = mRange.Address
Do
mRange.Clear
Set mRange = .FindNext(mRange)
Loop While Not mRange Is Nothing And mRange.Address <> firstAddress
End If
End With

End Sub

でいかがでしょう
    • good
    • 0

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