- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 104
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-4-30
               
|
¦^´_ 27# emma
¬O¤£¬O³o¼Ë®ÄªG?- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim Ar(), A As Range
- If Target.Address <> "$B$1" Then Exit Sub
- If Application.CountA(Range([A5], Cells(Rows.Count, 1))) > 0 Then
- For Each A In Range([A5], Cells(Rows.Count, 1).End(xlUp))
- ReDim Preserve Ar(s)
- Ar(s) = Application.Transpose(Application.Transpose(A.Resize(, 8)))
- s = s + 1
- Next
- End If
-
- With Sheet1
- If Application.Count(.Range("B:B")) > 0 Then
- For Each A In .Range("B:B").SpecialCells(xlCellTypeConstants, 1)
- ReDim Preserve Ar(s)
- If A.Offset(, 8) = "V" And (A.Offset(, 9) > Date Or A.Offset(, 9) = "") And A > A.Offset(, 4) Then dot = Int(A / 1000) * 1000 Else dot = 0
- k = IIf(Target = "Á`©±", 10, 11)
- If A < A.Offset(, 4) Then
- m = "¹B¶O+¤âÄò¶O"
- ElseIf A.Offset(, 5) = "±À" And A > A.Offset(, 4) Then
- m = "§K¹B"
- ElseIf A.Offset(, 5) <> "±À" And A > A.Offset(, 4) Then
- m = "¹B¶O"
- End If
- Ar(s) = Array(A.Offset(, 2).Value, A.Value, A.Offset(, 3).Value, dot, A.Offset(, 12).Value, A.Offset(, k).Value, m, A.Offset(, 6).Value)
- s = s + 1
- Next
- End If
- End With
- If s > 0 Then [A5].Resize(s, 8) = Application.Transpose(Application.Transpose(Ar))
- Range("A4").CurrentRegion.Sort key1:=[A4], Header:=xlYes
- End Sub
½Æ»s¥N½X
VBAtest7.rar (19.28 KB)
|
|