- ベストアンサー
EXCEL 2つの特定の文字列がある行を残して削除
EXCELにて2つの特定の文字列が含まれる行を残して削除したいと思っております。 A列50行にそれぞれ"年賀状""喪中""名刺"がランダムに羅列されていて、その中から"年賀状"と"喪中"の行だけを残して"名刺"の行は削除したいと思ってます。(B列以降は注文番号、枚数、氏名等が入力されています) 以下のコードで1つだけは可能でしたが、色々試しても2つはできませんでした。(コードは拾い物を少しアレンジ) Sub MacroTest1() Dim keyWord As Variant Dim FirstAdd As String Dim UR As Range Dim c As Range Const col As Long = 1 '列数 keyWord = "年賀状" If VarType(keyWord) = vbBoolean Or Len(keyWord) = 0 Then Exit Sub With ActiveSheet With .UsedRange Set c = .Find( _ What:="*" & keyWord & "*", _ LookIn:=xlValues, _ LookAt:=xlPart, _ SearchOrder:=xlByRows) If Not c Is Nothing Then FirstAdd = c.Address Set UR = c Do Set c = .FindNext(c) Set UR = Union(UR, c) If c.Address = FirstAdd Then Exit Do Loop Until c Is Nothing End If End With If Not UR Is Nothing Then UR.EntireRow.Hidden = True .UsedRange.SpecialCells(xlCellTypeVisible).Delete .UsedRange.EntireRow.Hidden = False End If End With End Sub どうか宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- kmetu
- ベストアンサー率41% (562/1346)
- hige_082
- ベストアンサー率50% (379/747)
- hallo-2007
- ベストアンサー率41% (888/2115)
お礼
見事に思い通りになりました。 有難うございました。 自分の勉強不足を痛感しております。