你说得不清不楚,我只好重新设题了:
假设表中有ABCD四列数据,若当中某一列的所有单元格内数据都在50~100之间,则保留该列,否则删除该列。
Sub 筛选列()
Dim i, j, Max, Min As Integer
For i = 1 To 4 '第1到第4列(A、B、C、D列)
Max = Application.WorksheetFunction.Max(Columns(i))
Min = Application.WorksheetFunction.Min(Columns(i))
If (Min >= 50 And Max <= 100) Then 'Min代表范围的最小值,Max代表范围的最大值,视具体情况作改动。
j = j + 1
Else
Columns(i).Delete Shift:=xlToLeft
i = i - 1
j = j + 1
If j = 4 Then Exit Sub '共有多少列需要判断的数据列,这当中j=4 的4就该改为多少
End If
Next i
End Sub
判断单元格的值在某个区域;满足则隐藏行,否则不做操作!
问题说的不是很清楚;不知道这样是否可行