- ベストアンサー
VBAで特定の文字が入ったセルをクリアにする方法
Excel VBAに関する質問です。 指定したセル範囲の中で、人月という文字を含む文字が入ったセル を見つけ、そのセルに入った文字を全てクリアにしたいと考えています。 良い方法をご教授いただけませんでしょうか。 人月という文字を含む文字は[0人月]や[2.5人月]など多岐に渡るので、 自分のイメージでは、人月という言葉だけで検索してひっかかるものを全て消そうと思っています。 なお、該当の文字はB列にしかありません。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
[置換]で「検索する文字列」に *人月* と入れて、「置換後の文字列」に何も入力せずに実行する作業をマクロ記録取れば参考になると思います。 Columns("B:B").Replace What:="*人月*", _ Replacement:="", _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ MatchCase:=False
その他の回答 (2)
- kmetu
- ベストアンサー率41% (562/1346)
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
- kmetu
- ベストアンサー率41% (562/1346)
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 でいかがでしょう