- ©«¤l
- 96
- ¥DÃD
- 16
- ºëµØ
- 0
- ¿n¤À
- 100
- ÂI¦W
- 0
- §@·~¨t²Î
- Windows XP&Windows 7
- ³nÅ骩¥»
- Excel 2003&2013
- ¾\ŪÅv
- 20
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW
- µù¥U®É¶¡
- 2020-7-15
- ³Ì«áµn¿ý
- 2022-5-13
|
¦^´_ 6# jsc0518
¿z¿ï1~5Ó¶µ¥Ø§¡¾A¥Î
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
Dim Qx$, Af&, Sh$, S1$, S2$, S3$, S4$, S5$, i&
Af = 32
Sh = ""
S1 = ""
S2 = ""
S3 = ""
S4 = ""
S5 = ""
If .Column = Af And .Row >= 2 And .Count = 1 Then
If ActiveSheet.FilterMode = True Then
For i = 2 To ActiveSheet.UsedRange.Rows.Count
If Rows(i).EntireRow.Hidden = True Then
If Sh = "" Then
Sh = Cells(i, "AF")
ElseIf InStr(Sh, Cells(i, "AF")) = 0 Then
Sh = Sh & "," & Cells(i, "AF")
End If
ElseIf InStr(Sh, Cells(i, "AF")) <> 0 Then
GoTo 999
ElseIf S1 = "" Then
S1 = Cells(i, "AF")
ElseIf S2 = "" And InStr(S1, Cells(i, "AF")) = 0 Then
S2 = Cells(i, "AF")
ElseIf S3 = "" And InStr(S1 & S2, Cells(i, "AF")) = 0 Then
S3 = Cells(i, "AF")
ElseIf S4 = "" And InStr(S1 & S2 & S3, Cells(i, "AF")) = 0 Then
S4 = Cells(i, "AF")
ElseIf S5 = "" And InStr(S1 & S2 & S3 & S4, Cells(i, "AF")) = 0 Then
S5 = Cells(i, "AF")
Exit For
End If
999
Next
If InStr(Sh, .Value) <> 0 Then
.Rows(.Count).EntireRow.Hidden = True
Else
Selection.AutoFilter Field:=Af, Criteria1:=Array( _
S1, S2, S3, S4, S5), Operator:=xlFilterValues
ActiveSheet.AutoFilter.ApplyFilter
End If
End If
End If
End With
End Sub
°Ñ¦Ò! |
|