2017-03-17 10 views
0

データの列を含むワークシートがあります。私は、その行の値の全てがここに100未満値が含まれていない限り行を削除> 100

ある任意の行を削除しようとしている私がこれまでにしたものである:

Sub deleterows() 
    Dim lRow As Long 
    Dim iCntr As Long 
    lRow = 900 
    For iCntr = lRow To 1 Step -1 
     If Cells(iCntr, 1) < 100 Then 
      Rows(iCntr).Delete 
     End If 
    Next 
End Sub 

は残念ながら、これが唯一の最初の列で検索し、 100より大きい値が他の列に存在する行は削除されます。誰かが私にそれをすべての列を見させるのに役立つことができますか?

答えて

3

あなたはコードを編集して、特定の行の最大値を見ることができるはずです。詳しくは私のコメントを見てください。

Sub deleterows() 
    Dim lRow As Long 
    Dim iCntr As Long 
    lRow = 900 
    For iCntr = lRow To 1 Step -1 
     ' Check if the maximum value in the columns A:F is less than 100 
     ' If it is, then all of the values are! 
     If Application.WorksheetFunction.Max(ActiveSheet.Range("A" & iCntr & ":F" & iCntr)) < 100 Then 
      Rows(iCntr).Delete 
     End If 
    Next 
End Sub 

もちろん、 "F"は任意の文字に変更できます。

+0

ありがとうWolfie、それは完璧に働いています。 – Sherbetdab

関連する問題