2017-11-27 7 views
0

データセットからアイテムを削除しようとしています。 基本的には「B:V列に行き、私のパラメータを探して、その値が列にあれば、行を削除してください」列コードの行を削除する

残念ながら、このコードは機能しません。 。

自分自身を私が1列でループを行うためのコードを壊す試みたが、そのコードが完了するまでに長いへの道を取っていた、私は、より高速なデータを削除した可能性があります。

任意の考え?

Sub SellThrough_dataManip() 
    Dim rCell As Range 
    Dim strAddress As String 

    Application.ScreenUpdating = False 

    With ActiveSheet.Columns("B:V") 
     Set rCell = .Find(What:="Check" & "CNL" & "TENA" & "cancelled" & "N" & "Z" & "R" & "Y" & "Club" & "#N/A", LookIn:=xlValues, SearchOrder:=xlByColumns) 

     If Not rCell Is Nothing Then 
      Do 
       strAddress = rCell.Address 
       rCell.EntireRow.Delete 
       Set rCell = .FindNext(Range(strAddress)) 
      Loop Until rCell Is Nothing 
     End If 

    End With 

End Sub 
+1

を行く...私はあなたがそれを見つけることを疑う...検索を行うためのマクロを記録コマンド、結果のコードを編集する – jsotola

+0

私は、単語 "check" "tena" "cancelled"などを列b:vの中で見つけようとしていて、その中にそれらの単語を含む行を削除しようとしています。 –

答えて

0

削除する範囲を増やしてみるループ内で編、その後1ですべてを削除するには、単語「CheckCNLTENAcancelledNZRYClub#N/A」を探している

Sub SellThrough_dataManip() 
    Dim rCell As Range, DelRng As Range 
    Dim FirstAddress As String 

    Application.ScreenUpdating = False 

    With ActiveSheet.Columns("B:V") 
     Set rCell = .Find(What:="Check" & "CNL" & "TENA" & "cancelled" & "N" & "Z" & "R" & "Y" & "Club" & "#N/A", LookIn:=xlValues, SearchOrder:=xlByColumns) 

     If Not rCell Is Nothing Then 
      FirstAddress = rCell.Address 
      Do 
       If DelRng Is Nothing Then 
        Set DelRng = rCell 
       Else 
        Set DelRng = Union(DelRng, rCell) 
       End If 
       Set rCell = .FindNext(rCell) 
      Loop While Not rCell.Address = FirstAddress 
     End If 
    End With 
    If Not DelRng Is Nothing Then DelRng.EntireRow.Delete 
End Sub 
+0

これはうまくいきません:( –

+0

jsotolaのコメントを見て、それらの用語を見つけようとしていますか?そうであれば、「検索」はそのようには動作しません – Tom

関連する問題