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

¨Ì­q³æ¸ê®ÆÂà´«¦¨¤»¶g±Æµ{ªí¡A·q½Ð¦U¦ì¤j¤j½ç±Ð!!!

¥»©«³Ì«á¥Ñ Hsieh ©ó 2012-4-28 00:11 ½s¿è

¦^´_ 4# p6703
  1. Sub Ex()
  2. Dim A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet2
  5. n = .Cells(1, .Columns.Count).End(xlToLeft).Column - 1
  6. s = Day(.[E1])
  7. With Sheet1
  8.    For Each A In .Range(.[A2], .[A2].End(xlDown))
  9. ReDim ar(0 To 1, 0 To n)
  10.        m = A & "," & A.Offset(, 1) & "," & A.Offset(, 2)
  11.        If IsEmpty(d(m)) Then
  12.        GoTo 10
  13.        Else
  14.        For i = 0 To 1
  15.          For j = 0 To n
  16.            ar(i, j) = d(m)(i, j)
  17.          Next
  18.        Next
  19.        End If
  20. 10
  21.        x = Day(A.Offset(, 4)) - s + 4 '»Ý¨D¤é
  22.        y = Day(A.Offset(, 5)) - s + 4 '¥æ´Á
  23.        For i = 0 To 2
  24.          ar(0, i) = A.Offset(, i)
  25.        Next
  26.        ar(0, 3) = "»Ý¨D¤é"
  27.        ar(1, 3) = "¥æ´Á"
  28.        ar(0, x) = ar(0, x) + A.Offset(, 3) '»Ý¨D
  29.        ar(1, y) = A.Offset(, 3)
  30.        d(m) = ar
  31.        Erase ar
  32.    Next
  33. End With
  34. r = 2
  35. For Each ky In d.keys
  36.   .Cells(r, 1).Resize(2, n + 1) = d(ky)
  37.   r = r + 2
  38. Next
  39. End With
  40. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 12# p6703
  1. Sub Ex()
  2. Dim A As Range, x%, y%
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheets("Sheet2")
  5. s = Application.Min(.Rows(1))
  6. With Sheets("Sheet1")
  7. n = Application.Max(.Columns("E:F")) - s + 4
  8.    For Each A In .Range(.[A2], .[A2].End(xlDown))
  9. ReDim ar(0 To 1, 0 To n)
  10.        m = A & "," & A.Offset(, 1) & "," & A.Offset(, 2)
  11.        If IsEmpty(d(m)) Then
  12.        GoTo 10
  13.        Else
  14.        For i = 0 To 1
  15.          For j = 0 To n
  16.            ar(i, j) = d(m)(i, j)
  17.          Next
  18.        Next
  19.        End If
  20. 10
  21.        x = A.Offset(, 4) - s + 4 '»Ý¨D¤é
  22.        y = A.Offset(, 5) - s + 4 '¥æ´Á
  23.        For i = 0 To 2
  24.          ar(0, i) = A.Offset(, i)
  25.        Next
  26.        ar(0, 3) = "»Ý¨D¤é"
  27.        ar(1, 3) = "¥æ´Á"
  28.        ar(0, x) = ar(0, x) + A.Offset(, 3) '»Ý¨D
  29.        ar(1, y) = A.Offset(, 3)
  30.        d(m) = ar
  31.        Erase ar
  32.    Next
  33. End With
  34. r = 2
  35. For Each ky In d.keys
  36.   .Cells(r, 1).Resize(2, n + 1) = d(ky)
  37.   r = r + 2
  38. Next
  39. End With
  40. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2012-5-2 22:35 ½s¿è

¦^´_ 14# p6703

¦pªG¥H2010ª©¥»¶}±ÒÀɮ׮ɡA¦]¬°¤u§@ªíªºcodename¬O"¤u§@ªí1"¡B"¤u§@ªí2"...µ¥¡A¨Ã«D"Sheet1"¡B"Sheet2"...µ¥
©Ò¥H¥X¿ù¡C
½ÐÀˬd¤u§@ªíªºCodeName¬O§_¦s¦b?

³Ì«áªºµo©«¤¤¤w¸g§ï¦¨¨Ï¥Î¤u§@ªíªºNameÄÝ©Ê¡A­Y¦³¿ù»~½ÐÀˬd¤u§@ªí¦WºÙ¡C

¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 16# p6703

§Ú²q·Q¬O§AªºSheet2!E2ªº¤é´Á¤ñ©Ò¦³­q³æ¤é´Áªº³Ì¤p­ÈÁÙ¤j¡A¤~·|²£¥Í³o¼Ëµ²ªG
½Ð¤W¶Ç¥X¿ùÀɮפ~¯àª¾¹D½T¹ê­ì¦]
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 18# p6703
  1. Sub Ex()
  2. Dim A As Range, x#, y#
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheets("Sheet2")
  5. s = Application.Min(.Rows(1))
  6. With Sheets("Sheet1")
  7. n = Application.Max(.Columns("E:F")) - s + 4
  8.    For Each A In .Range(.[A2], .[A2].End(xlDown))
  9. ReDim ar(0 To 1, 0 To n)
  10.        m = A & "," & A.Offset(, 1) & "," & A.Offset(, 2)
  11.        If IsEmpty(d(m)) Then
  12.        GoTo 10
  13.        Else
  14.        For i = 0 To 1
  15.          For j = 0 To n
  16.            ar(i, j) = d(m)(i, j)
  17.          Next
  18.        Next
  19.        End If
  20. 10
  21.        x = A.Offset(, 4) - s + 4 '»Ý¨D¤é
  22.        y = A.Offset(, 5) - s + 4 '¥æ´Á
  23.        For i = 0 To 2
  24.          ar(0, i) = A.Offset(, i)
  25.        Next
  26.        ar(0, 3) = "»Ý¨D¤é"
  27.        ar(1, 3) = "¥æ´Á"
  28.        If x > 0 Then ar(0, x) = ar(0, x) + A.Offset(, 3) '»Ý¨DÁקKSheet1¤º»Ý¨D¤éµL¤é´Á
  29.        If y > 0 Then ar(1, y) = A.Offset(, 3) '¥æ´ÁÁקKSheet1¤º¥æ´ÁµL¤é´Á
  30.        d(m) = ar
  31.        Erase ar
  32.    Next
  33. End With
  34. r = 2
  35. For Each ky In d.keys
  36.   .Cells(r, 1).Resize(2, n + 1) = d(ky)
  37.   r = r + 2
  38. Next
  39. End With
  40. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 21# p6703
  1. Sub Ex()
  2. Dim A As Range, x#, y#
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet2 's("Sheet2")
  5. s = Application.Min(.Rows(1))
  6. With Sheets("Sheet1")
  7. n = Application.Max(.Columns("G:H")) - s + 6
  8.    For Each A In .Range(.[A2], .[A2].End(xlDown))
  9. ReDim ar(0 To 1, 0 To n)
  10.        m = A & "," & A.Offset(, 1) & "," & A.Offset(, 2) '­q³æ¡B®Æ¸¹¡B¶µ¦¸¬°¯Á¤Þ
  11.        If IsEmpty(d(m)) Then
  12.        GoTo 10
  13.        Else
  14.        For i = 0 To 1
  15.          For j = 0 To n
  16.            ar(i, j) = d(m)(i, j)
  17.          Next
  18.        Next
  19.        End If
  20. 10
  21.        x = A.Offset(, 6) - s + 6 '»Ý¨D¤é
  22.        y = A.Offset(, 7) - s + 6 '¥æ´Á
  23.        For i = 0 To 4
  24.          ar(0, i) = A.Offset(, IIf(i >= 3, i + 1, i))
  25.        Next
  26.        ar(0, 5) = "»Ý¨D¤é"
  27.        ar(1, 5) = "¥æ´Á"
  28.        If x > 0 Then ar(0, x) = ar(0, x) + A.Offset(, 3) '»Ý¨DÁקKSheet1¤º»Ý¨D¤éµL¤é´Á
  29.        If y > 0 Then ar(1, y) = A.Offset(, 3) '¥æ´ÁÁקKSheet1¤º¥æ´ÁµL¤é´Á
  30.        d(m) = ar
  31.        Erase ar
  32.    Next
  33. End With
  34. r = 2
  35. For Each ky In d.keys
  36.   .Cells(r, 1).Resize(2, n + 1) = d(ky)
  37.   For i = 0 To 1
  38.   mystr = ""
  39.   Set Rng = .Range("G" & r).Offset(i).Resize(, n - 5)
  40.   If Application.CountA(Rng) > 0 Then
  41.       For Each A In Rng.SpecialCells(xlCellTypeConstants)
  42.         mystr = IIf(mystr = "", .Cells(1, A.Column).Text & "*" & A / 1000 & "K", mystr & "¡A" & .Cells(1, A.Column).Text & "*" & A / 1000 & "K")
  43.       Next
  44.       .Cells(r + i, "CF") = mystr
  45.   End If
  46.   Next
  47.   r = r + 2
  48. Next
  49. End With
  50. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : °µ¦n¨Æ¤£¯à¤Ö§Ú¤@¤H¡A°µÃa¨Æ¤£¯à¦h§Ú¤@¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD