大家早上好,基于userform复选框隐藏行
我有一个宏,我想对数据进行排序。我的工作簿中的一个按钮调用一个包含10个复选框的小型用户窗体。用户应该选择他想查看的类别,然后单击排序。我想要的结果是只显示他选择显示的类别,但是我得到的是附加宏中的全部或全部结果。下面是支持表单/按钮对类别进行排序的宏。我已经通过Google和其他几个论坛进行搜索,找不到与我的问题相关的答案!任何帮助你可以提供将不胜感激。
谢谢!
Private Sub cmdSort_Click()
LastRow = Range("A" & Rows.Count).End(xlUp).Row
If chkFE = True Then
For Each cell In Range("BC4:BC" & LastRow)
If UCase(cell.Value) <> "Fire Extinguishers" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkChem = True Then
For Each cell In Range("BD4:BD" & LastRow)
If UCase(cell.Value) <> "Chem" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkFL = True Then
For Each cell In Range("BE4:BE" & LastRow)
If UCase(cell.Value) <> "FL" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkElec = True Then
For Each cell In Range("BF4:BF" & LastRow)
If UCase(cell.Value) <> "Elec" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkFP = True Then
For Each cell In Range("BG4:BG" & LastRow)
If UCase(cell.Value) <> "FP" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkLift = True Then
For Each cell In Range("BH4:BH" & LastRow)
If UCase(cell.Value) <> "Lift" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkPPE = True Then
For Each cell In Range("BI4:BI" & LastRow)
If UCase(cell.Value) <> "PPE" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkPS = True Then
For Each cell In Range("BJ4:BJ" & LastRow)
If UCase(cell.Value) <> "PS" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkSTF = True Then
For Each cell In Range("BK4:BK" & LastRow)
If UCase(cell.Value) <> "STF" Then
cell.EntireRow.Hidden = True
End If
Next
End If
If chkErgonomics = True Then
For Each cell In Range("BL4:BL" & LastRow)
If UCase(cell.Value) <> "Ergonomics" Then
cell.EntireRow.Hidden = True
End If
Next
End If
Unload frmSort
End Sub
这是一个很好的答案。过滤是要走的路。请注意,交叉发布到其他网站不被认为是一个伟大的做法:http://meta.stackexchange.com/questions/141823/why-is-cross-posting-wrong-on-an-external-site。事实上,其他论坛的每个问题都有一个链接,表示“我同意这些规则”。 #3是你不会在没有说清楚的情况下交叉发帖。这对我来说并不是什么大不了的事情,但是知道这件事本来就不错。 – 2013-02-26 14:54:16
对不起,我只是试图给出它到期的地方。我一定会确保下次更清楚。谢谢! – nickJR 2013-02-26 19:42:38