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

[µo°Ý] ¨âªí¸ê®Æ­«½Æ¹ï¤ñ¨Ã¼Æ¶q¬Û­¼

¦^´_  Andy2483


    ¤µ¤Ñ¾Ç²ß¥i¦h½ü­pºâ¤è®×,½Ð¦U¦ì«e½ú«ü±Ð

Option Explicit
Sub TEST2()
Cons ...
Andy2483 µoªí©ó 2025-11-10 16:45
  1. Option Explicit
  2. Sub TEST2()
  3. Const Ref = 2
  4. Dim Brr, Crr, Y, Z(0 To Ref + 1), K, i&, j%, N&, T1$, T8$, d%
  5. Set Y = CreateObject("Scripting.Dictionary")
  6. For i = 0 To Ref + 1: Set Z(i) = CreateObject("Scripting.Dictionary"): Next
  7. Brr = Sheets(1).[A1].CurrentRegion
  8. For i = 2 To UBound(Brr)
  9.    If Z(1)(Brr(i, 1)) = "" Then
  10.       Z(1)(Brr(i, 1)) = Val(Brr(i, 3))
  11.       Else
  12.       Z(1)(Brr(i, 1)) = Z(1)(Brr(i, 1)) + Val(Brr(i, 3))
  13.    End If
  14. Next
  15. Brr = Sheets(2).[A1].CurrentRegion
  16. For d = 2 To Ref + 1
  17.    For i = 2 To UBound(Brr)
  18.       T1 = Brr(i, 1)
  19.       T8 = Brr(i, 8)
  20.       If Y.Exists(i) Then GoTo i01
  21.       If Z(d - 1).Exists(T8) And Z(d - 1)(T8 & "/") = "" And Not Z(d - 2).Exists(T8) Then
  22.          Brr(i, 3) = Z(d - 1)(T8) * Val(Brr(i, 3))
  23.          Z(d)(T1) = Brr(i, 3)
  24.          Z(d - 1)(T8 & "/") = Brr(i, 3)
  25.          Y(i) = ""
  26.          Z(d)(T8) = Brr(i, 3)
  27.          ElseIf Z(d - 1)(T8 & "/") <> "" Then
  28.             Z(d)(T1) = Z(d)(T8) + Val(Brr(i, 3))
  29.             Brr(i, 3) = Z(d - 1)(T8) * Val(Brr(i, 3))
  30.             Y(i) = ""
  31.             Z(d)(T8) = Brr(i, 3)
  32.       End If
  33. i01: Next
  34. Next
  35. ReDim Crr(1 To Y.Count, 1 To UBound(Brr, 2))
  36. For Each K In Y.Keys
  37.    N = N + 1
  38.    For j = 1 To UBound(Brr, 2): Crr(N, j) = Brr(K, j): Next
  39.    Crr(N, 3) = Crr(N, 3): Crr(N, 5) = Crr(N, 3)
  40. Next
  41. If N > 0 Then Workbooks.Add: [A1].Resize(N, UBound(Brr, 2)) = Crr
  42. End Sub
½Æ»s¥N½X
ÁÂÁ«e½ú«üÂI¡A½Ð°Ý¦pªGª½±µ­pºâQty, §Ú§R°£¤F¤@¨Ç¡§¡]¡^+ * ¡¨¡A¦ý¬O²Ä¤G½üªºª÷ÃB¤£¹ï¡A¬O§_§Ú§R±o¤£¹ï¡A½ÐÀ°¬Ý¬Ý¡C

TOP

¦^´_  198188


   
±N18¼Ó¤è®× Crr(N, 3) = Crr(N, 3) & ")": Crr(N, 5) = "=" & Crr(N, 3)
§ï¦¨   ...
Andy2483 µoªí©ó 2025-11-11 09:13
  1. Option Explicit
  2. Sub TEST11()
  3. Const Ref = 2
  4. Dim Brr, Crr, Y, Z(0 To Ref + 1), K, i&, j%, N&, T1$, T8$, d%
  5. Set Y = CreateObject("Scripting.Dictionary")
  6. For i = 0 To Ref + 1: Set Z(i) = CreateObject("Scripting.Dictionary"): Next
  7. Brr = Sheets(1).[A1].CurrentRegion
  8. For i = 2 To UBound(Brr)
  9.    If Z(1)(Brr(i, 1)) = "" Then
  10.       Z(1)(Brr(i, 1)) = "(" & Val(Brr(i, 3))
  11.       Else
  12.       Z(1)(Brr(i, 1)) = Z(1)(Brr(i, 1)) & "+" & Val(Brr(i, 3))
  13.    End If
  14. Next
  15. Brr = Sheets(2).[A1].CurrentRegion
  16. For d = 2 To Ref + 1
  17.    For i = 2 To UBound(Brr)
  18.       T1 = Brr(i, 1)
  19.       T8 = Brr(i, 8)
  20.       If Y.Exists(i) Then GoTo i01
  21.       If Z(d - 1).Exists(T8) And Z(d - 1)(T8 & "/") = "" And Not Z(d - 2).Exists(T8) Then
  22.          Brr(i, 3) = Z(d - 1)(T8) & ")*(" & Val(Brr(i, 3))
  23.          Z(d)(T1) = Brr(i, 3)
  24.          Z(d - 1)(T8 & "/") = Brr(i, 3)
  25.          Y(i) = ""
  26.          Z(d)(T8) = Brr(i, 3)
  27.          ElseIf Z(d - 1)(T8 & "/") <> "" Then
  28.             Z(d)(T1) = Z(d)(T8) & "+" & Val(Brr(i, 3))
  29.             Brr(i, 3) = Z(d - 1)(T8) & ")*(" & Val(Brr(i, 3))
  30.             Y(i) = ""
  31.             Z(d)(T8) = Brr(i, 3)
  32.       End If
  33. i01: Next
  34. Next
  35. ReDim Crr(1 To Y.Count, 1 To UBound(Brr, 2))
  36. For Each K In Y.Keys
  37.    N = N + 1
  38.    For j = 1 To UBound(Brr, 2): Crr(N, j) = Brr(K, j): Next
  39.    Crr(N, 3) = Crr(N, 3) = Evaluate(Crr(N, 3) & ")")
  40. Next
  41. If N > 0 Then Workbooks.Add: [A1].Resize(N, UBound(Brr, 2)) = Crr
  42. End Sub
½Æ»s¥N½X
«e½ú¡A§ï§¹¥X²{ªºQty ¬O " FALSE "

TOP

¦^´_  198188


Crr(N, 3) = Crr(N, 3) = Evaluate(Crr(N, 3) & ")")
§ï¬°
Crr(N, 3) = Evaluate(Cr ...
Andy2483 µoªí©ó 2025-11-11 10:14


ÁÂÁ«e½ú«üÂI¡C

TOP

        ÀR«ä¦Û¦b : §Ú­Ì­n°µ¦nªÀ·|ªºÀô«O¡A¤]­n°µ¦n¤º¤ßªºÀô«O¡C
ªð¦^¦Cªí ¤W¤@¥DÃD