ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¤ñ¹ï¸ê®Æ¡A¤£¬Û¦Pªº¸ê®ÆÅã¥Ü©ó¥k°¼

¢°¡Ö¢Ï°Ï¡þ¢Ð°Ï¦P®É¦s¦b¡A­ç°£
¢±¡Ö¢Ï°Ï¦³¦hµ§¬Û¦P¡A¥u¨ú¤@µ§¡]¢Ð°Ï¦P²z¡^
¢²¡Ö¥k°¼µ²ªG¨Cµ§¤§¶¡¤£¯dªÅ¥Õ¦æ¡A¨â°Ï¦U¦Û¤W¤U°Ï¦s©ñ

¼g±o¦³ÂI½ÆÂø¡A¦Û¦æ³v¦æ°Ñ°u¡G
Xl0000283.rar (214.58 KB)

Sub TEST()
Dim Arr, Brr, xD, i&, j%, U&, V&, N&, T1$, T2$, T3$
[O4:AA20000].Clear
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([M4], Cells(Rows.Count, 1).End(xlUp))
ReDim Brr(1 To UBound(Arr), 1 To 13)
For i = 2 To UBound(Arr)
    T1 = Arr(i, 1): T2 = Arr(i, 4): T3 = Arr(i, 8)
    If T1 = "®y¼Ð" Then V = i - 1: GoTo 101
    If T1 = "" Or T2 = "" Or T3 = "" Then GoTo 101
    U = xD(T1 & T2 & T3)
    If U = 0 Then xD(T1 & T2 & T3) = i: GoTo 101
    If U > 0 And U <= V Then xD(T1 & T2 & T3) = -1
101: Next i

For i = 1 To UBound(Arr)
    T1 = Arr(i, 1): T2 = Arr(i, 4): T3 = Arr(i, 8)
    U = xD(T1 & T2 & T3)
    If T1 = "®y¼Ð" And N > 0 Then N = V
    If T1 = "®y¼Ð" Or U = i Then
       N = N + 1
       For j = 1 To 13: Brr(N, j) = Arr(i, j): Next
    End If
Next i

With [O4:AA4].Resize(UBound(Brr))
     .NumberFormatLocal = "@"
     .Value = Brr
     .Borders.LineStyle = 1
End With
End Sub

¡@

TOP

        ÀR«ä¦Û¦b : ­n§åµû§O¤H®É¡A¥ý·Q·Q¦Û¤v¬O§_§¹¬üµL¯Ê¡C
ªð¦^¦Cªí ¤W¤@¥DÃD