Board logo

標題: [發問] 兩表資料重複對比並數量相乘 [打印本頁]

作者: 198188    時間: 2025-11-6 09:52     標題: 兩表資料重複對比並數量相乘

[attach]38233[/attach]

有兩個表 Read & Data

Data 是資料檔案
Read 是程式執行檔案


執行程式規則:
Read 表 灰色部分是原有資料,保留。
Read 表 A 欄  對比 Data 表 H 欄,
若吻合,複製 Data 表 對應的一列資料到 Read 表 A 欄最後一列後, 數量 Read 表  Qty * Data 表 Qty (如藍色部分)
完成後,再重複一次
Read 表 A 欄  對比 Data 表 H 欄,
若吻合,複製 Data 表 對應的一列資料到 Read 表 A 欄最後一列後, 數量 Read 表  Qty * Data 表 Qty (如綠色色部分)
作者: Andy2483    時間: 2025-11-6 11:10

回復 1# 198188


    請前輩上傳範例檔
作者: 198188    時間: 2025-11-6 12:04

回復  198188


    請前輩上傳範例檔
Andy2483 發表於 2025-11-6 11:10


前輩,附上範例
作者: hcm19522    時間: 2025-11-6 14:11

C2=IFERROR(VLOOKUP(H2,A1:C$2,3,),1)*VLOOKUP(A2,Data!A:C,3,)
作者: Andy2483    時間: 2025-11-6 14:16

回復 3# 198188


    謝謝前輩發表此主題與範例,後學學習方案如下,請前輩參考

Option Explicit
Sub TEST()
Dim Brr, Z, K, i&, j%, N&
Set Z = CreateObject("Scripting.Dictionary")
Brr = [Read!A1].CurrentRegion
For i = 2 To UBound(Brr): Z(Brr(i, 1)) = Val(Brr(i, 3)): Next
Brr = Range([Data!A1], [Data!A1].CurrentRegion.Offset(UBound(Brr)))
For i = 2 To UBound(Brr)
   If Z.Exists(Brr(i, 8)) Then
      Z(Brr(i, 1) & "/") = i
      Brr(i, 3) = Z(Brr(i, 8)) & "*" & Val(Brr(i, 3))
   End If
   If Z.Exists(Brr(i, 8) & "/") Then
      Z(Brr(i, 8) & "//") = i
      Brr(i, 3) = Brr(Z(Brr(i, 8) & "/"), 3) & "*" & Val(Brr(i, 3))
   End If
Next
For Each K In Z.Keys
   If InStr(K, "/") Then
      N = N + 1
      For j = 1 To UBound(Brr, 2): Brr(N, j) = Brr(Z(K), j): Next
      'Brr(N, 3) = "=" & Brr(N, 3)
   End If
Next
Workbooks.Add
[A1].Resize(N, UBound(Brr, 2)) = Brr
End Sub
作者: 198188    時間: 2025-11-6 14:34

  1. Option Explicit
  2. Sub TEST()
  3. Dim arr, Brr, Z, K, i&, j%, N&
  4. Set Z = CreateObject("Scripting.Dictionary")
  5. Brr = [Read!A1].CurrentRegion
  6. For i = 2 To UBound(Brr): Z(Brr(i, 1)) = Val(Brr(i, 3)): Next
  7. Brr = Range([Data!A1], [Data!A1].CurrentRegion.Offset(UBound(Brr)))
  8. For i = 2 To UBound(Brr)
  9.    If Z.Exists(Brr(i, 8)) Then
  10.       Z(Brr(i, 1) & "/") = i
  11.       Brr(i, 3) = Z(Brr(i, 8)) * Val(Brr(i, 3))
  12.    End If
  13.    If Z.Exists(Brr(i, 8) & "/") Then
  14.       Z(Brr(i, 8) & "//") = i
  15.       Brr(i, 3) = Brr(Z(Brr(i, 8) & "/"), 3) * Val(Brr(i, 3))
  16.    End If
  17. Next
  18. For Each K In Z.Keys
  19.    If InStr(K, "/") Then
  20.       N = N + 1
  21.       For j = 1 To UBound(Brr, 2): Brr(N, j) = Brr(Z(K), j): Next
  22.       'Brr(N, 3) = "=" & Brr(N, 3)
  23.    End If
  24. Next
  25. arr = Sheets("Read").UsedRange
  26. Sheets("Read").Range("A" & UBound(arr) + 1).Resize(N, UBound(Brr, 2)) = Brr
  27. End Sub
複製代碼
回復  198188


    謝謝前輩發表此主題與範例,後學學習方案如下,請前輩參考

Option Explicit
Sub  ...
Andy2483 發表於 2025-11-6 14:16


前輩我修改如上。
作者: 198188    時間: 2025-11-6 15:12

回復  198188


    謝謝前輩發表此主題與範例,後學學習方案如下,請前輩參考

Option Explicit
Sub  ...
Andy2483 發表於 2025-11-6 14:16


Brr = Range([Data!A1], [Data!A1].CurrentRegion.Offset(UBound(Brr)))

請問前輩,這句如果想改
xFile = "Data Base.xlsx"
sheets ("Data")
應該如何套入?
作者: Andy2483    時間: 2025-11-6 15:38

Brr = Range([Data!A1], [Data!A1].CurrentRegion.Offset(UBound(Brr)))

請問前輩,這句如果想改
x ...
198188 發表於 2025-11-6 15:12



With Workbooks("Data Base.xlsx").Sheets("Data")
   Brr = .Range(.[A1], .[A1].CurrentRegion.Offset(UBound(Brr)))
End With
作者: 198188    時間: 2025-11-6 17:48

With Workbooks("Data Base.xlsx").Sheets("Data")
   Brr = .Range(.[A1], .[A1].CurrentRegion.Of ...
Andy2483 發表於 2025-11-6 15:38



前輩,如果數量每一輪的數量都用  前一輪的總數量 *  Data Base 的數量,應該如何更改?
舉例
本檔灰色是原本數量,
E1204 共有6個

第一輪運行
E1204 共有6個
E1204 對應 A1122
A1122 有 2 行, 如下
A1122  2 * 6 =12
A1122  3 * 6 =18

第二輪運行
A1122 共有30個

A1122 對應 B1236
B1236 有 1 行, 如下
B1236    2 * 30 = 60
作者: Andy2483    時間: 2025-11-6 19:04

回復 9# 198188


    請前輩自行試試寫一段代碼先把Data 同號相加,再將Read比對2次Data
作者: 198188    時間: 2025-11-7 10:42

回復  198188


    請前輩自行試試寫一段代碼先把Data 同號相加,再將Read比對2次Data
Andy2483 發表於 2025-11-6 19:04
  1. Brr = [Read!A1].CurrentRegion
  2. For i = 2 To UBound(Brr): Z(Brr(i, 1)) = Val(Brr(i, 3)): Next
  3. N = 1
  4. For i = 2 To UBound(Brr)
  5.    If Z.Exists(Brr(i, 1)) Then
  6.           Z(Brr(N, 3)) = Z(Brr(N, 3)) + Brr(i, 3)
  7.       End If
  8. Next
複製代碼
我嘗試將灰色的數量記入字典,頭四個成功記入,但是後面不懂得加總,
作者: 198188    時間: 2025-11-7 12:01

本帖最後由 198188 於 2025-11-7 12:02 編輯
回復  198188


    請前輩自行試試寫一段代碼先把Data 同號相加,再將Read比對2次Data
Andy2483 發表於 2025-11-6 19:04



  前輩,第一步 將Read 表的 CODE 放入字典,Qty 也放入字典並相同 Code 加總,這部分我試了很多次,都不成功。
請指點一下後學。
作者: 198188    時間: 2025-11-7 14:52

本帖最後由 198188 於 2025-11-7 14:55 編輯
  1. Sub sumdata()
  2. Dim i As Long
  3. Dim n As Long
  4. Dim ar, arr, brr As Variant
  5. Dim dict As New Dictionary

  6. ar = [A1].CurrentRegion
  7. Set dict = CreateObject("Scripting.Dictionary")

  8. With dict
  9. For i = 1 To UBound(ar, 1)
  10. .Item(ar(i, 1)) = .Item(ar(i, 1)) + ar(i, 3)
  11. Next i
  12. arr = Array(.Keys, .Items)
  13. n = .Count
  14. End With

  15. [O1].Resize(n, 2).Value = Application.Transpose(arr)


  16. brr = Sheets("Data").UsedRange
  17. For i = 2 To UBound(brr)
  18.    If dict(brr(i, 8)) > 0 Then
  19.       m = m + 1
  20.       For j = 1 To 13: brr(m, j) = brr(i, j): Next
  21.       brr(m, 3) = brr(m, 3) * dict(brr(i, 8))
  22.          
  23.    End If
  24. Next
  25. If m > 0 Then Sheets("Read").[A13].Resize(m, 13) = brr: m = 0 Else MsgBox "Frame per Dwg_Nothing"

  26. End Sub
複製代碼
回復  198188


    請前輩自行試試寫一段代碼先把Data 同號相加,再將Read比對2次Data
Andy2483 發表於 2025-11-6 19:04


前輩,我完成第一輪了。
作者: 198188    時間: 2025-11-7 15:32

回復  198188


    請前輩自行試試寫一段代碼先把Data 同號相加,再將Read比對2次Data
Andy2483 發表於 2025-11-6 19:04
  1. Sub sumdata()
  2. Dim i As Long
  3. Dim n As Long
  4. Dim ar, arr, brr As Variant
  5. Dim dict As New Dictionary
  6. .Column("O:P").Delete
  7. ar = [A1].CurrentRegion
  8. lastRow = UBound(ar)
  9. Set dict = CreateObject("Scripting.Dictionary")

  10. With dict
  11. For i = 1 To UBound(ar, 1)
  12. .Item(ar(i, 1)) = .Item(ar(i, 1)) + ar(i, 3)
  13. Next i
  14. arr = Array(.Keys, .Items)
  15. n = .Count
  16. End With
  17. [O1].Resize(n, 2).Value = Application.Transpose(arr)

  18. brr = Sheets("Data").UsedRange
  19. For i = 2 To UBound(brr)
  20.    If dict(brr(i, 8)) > 0 Then
  21.       m = m + 1
  22.       For j = 1 To 13: brr(m, j) = brr(i, j): Next
  23.       brr(m, 3) = brr(m, 3) * dict(brr(i, 8))
  24.    
  25.    End If
  26. Next
  27. If m > 0 Then Sheets("Read").Range("A" & lastRow + 1).Resize(m, 13) = brr: m = 0

  28. ar = Range("A" & lastRow + 1).CurrentRegion
  29. lastRow1 = UBound(ar)
  30. ar = Range("A" & lastRow & ":M" & lastRow1)
  31. Set dict = CreateObject("Scripting.Dictionary")

  32. With dict
  33. For i = 2 To UBound(ar, 1)
  34. .Item(ar(i, 1)) = .Item(ar(i, 1)) + ar(i, 3)
  35. Next i
  36. arr = Array(.Keys, .Items)
  37. n = .Count
  38. End With
  39. [O1].Resize(n, 2).Value = Application.Transpose(arr)

  40. brr = Sheets("Data").UsedRange
  41. For i = 1 To UBound(brr)
  42.    If dict(brr(i, 8)) > 0 Then
  43.       m = m + 1
  44.       For j = 1 To 13: brr(m, j) = brr(i, j): Next
  45.       brr(m, 3) = brr(m, 3) * dict(brr(i, 8))
  46.    
  47.    End If
  48. Next
  49. If m > 0 Then Sheets("Read").Range("A" & lastRow1 + 1).Resize(m, 13) = brr: m = 0

  50. End Sub
複製代碼
前輩,已經完成,請指點。
作者: Andy2483    時間: 2025-11-7 16:38

回復 9# 198188


    這好難,不知道對不對,請前輩指教

執行結果:
[attach]38247[/attach]

Option Explicit
Sub TEST1()
Dim brr, X, Y, Z, K, Q, i&, j%, n&, T1$, T8$
Set Z = CreateObject("Scripting.Dictionary")
Set Y = CreateObject("Scripting.Dictionary")
Set X = CreateObject("Scripting.Dictionary")
brr = Sheets(1).[A1].CurrentRegion
For i = 2 To UBound(brr)
   If Y(brr(i, 1)) = "" Then
      Y(brr(i, 1)) = "(" & Val(brr(i, 3))
      Else
      Y(brr(i, 1)) = Y(brr(i, 1)) & "+" & Val(brr(i, 3))
   End If
Next
brr = Sheets(2).[A1].CurrentRegion
For i = 2 To UBound(brr)
   T1 = brr(i, 1)
   T8 = brr(i, 8)
   If Y.Exists(T8) Then
      If Not IsObject(Z(T8 & "/")) Then
         Set Z(T8 & "/") = CreateObject("Scripting.Dictionary")
         brr(i, 3) = Y(T8) & ")*(" & Val(brr(i, 3))
         Z(T1) = brr(i, 3)
         Else
         Z(T1) = Z(T8) & "+" & Val(brr(i, 3))
         brr(i, 3) = Y(T8) & ")*(" & Val(brr(i, 3))
      End If
      Z(T8 & "/")(i) = ""
      Z(T8) = brr(i, 3)
   End If
Next
For i = 2 To UBound(brr)
   T1 = brr(i, 1)
   T8 = brr(i, 8)
   If Z.Exists(T8) And Not Y.Exists(T8) Then
      If Not IsObject(Z(T8 & "/")) Then
         Set Z(T8 & "/") = CreateObject("Scripting.Dictionary")
         brr(i, 3) = Z(T8) & ")*(" & Val(brr(i, 3))
         X(T1) = brr(i, 3)
         Else
         X(T1) = X(T8) & "+" & Val(brr(i, 3))
         brr(i, 3) = Z(T8) & ")*(" & Val(brr(i, 3))
      End If
      Z(T8 & "/")(i) = ""
      X(T8) = brr(i, 3)
   End If
Next
For Each K In Z.Keys
   If IsObject(Z(K)) Then
      For Each Q In Z(K).Keys
         n = n + 1
         For j = 1 To UBound(brr, 2): brr(n, j) = brr(Q, j): Next
         brr(n, 3) = brr(n, 3) & ")": 'Brr(N, 3) = "=" & Brr(N, 3)
      Next
   End If
Next
If n > 0 Then Workbooks.Add: [A1].Resize(n, UBound(brr, 2)) = brr
End Sub
作者: Andy2483    時間: 2025-11-7 16:40

回復 14# 198188


    謝謝前輩指導,很多沒看過的,後學執行出現偵錯,請前輩指點

[attach]38248[/attach]
作者: 198188    時間: 2025-11-7 17:40

本帖最後由 198188 於 2025-11-7 17:44 編輯
回復  198188


    謝謝前輩指導,很多沒看過的,後學執行出現偵錯,請前輩指點
Andy2483 發表於 2025-11-7 16:40



    [attach]38250[/attach]

前輩,需要去 工具 =>設定引用項目 => Microsoft Scripting Runtime
附上範例
作者: Andy2483    時間: 2025-11-10 16:45

回復 15# Andy2483


    今天學習可多輪計算方案,請各位前輩指教

Option Explicit
Sub TEST2()
Const Ref = 2
Dim Brr, Crr, Y, Z(0 To Ref + 1), K, i&, j%, N&, T1$, T8$, d%
Set Y = CreateObject("Scripting.Dictionary")
For i = 0 To Ref + 1: Set Z(i) = CreateObject("Scripting.Dictionary"): Next
Brr = Sheets(1).[A1].CurrentRegion
For i = 2 To UBound(Brr)
   If Z(1)(Brr(i, 1)) = "" Then
      Z(1)(Brr(i, 1)) = "(" & Val(Brr(i, 3))
      Else
      Z(1)(Brr(i, 1)) = Z(1)(Brr(i, 1)) & "+" & Val(Brr(i, 3))
   End If
Next
Brr = Sheets(2).[A1].CurrentRegion
For d = 2 To Ref + 1
   For i = 2 To UBound(Brr)
      T1 = Brr(i, 1)
      T8 = Brr(i, 8)
      If Y.Exists(i) Then GoTo i01
      If Z(d - 1).Exists(T8) And Z(d - 1)(T8 & "/") = "" And Not Z(d - 2).Exists(T8) Then
         Brr(i, 3) = Z(d - 1)(T8) & ")*(" & Val(Brr(i, 3))
         Z(d)(T1) = Brr(i, 3)
         Z(d - 1)(T8 & "/") = Brr(i, 3)
         Y(i) = ""
         Z(d)(T8) = Brr(i, 3)
         ElseIf Z(d - 1)(T8 & "/") <> "" Then
            Z(d)(T1) = Z(d)(T8) & "+" & Val(Brr(i, 3))
            Brr(i, 3) = Z(d - 1)(T8) & ")*(" & Val(Brr(i, 3))
            Y(i) = ""
            Z(d)(T8) = Brr(i, 3)
      End If
i01: Next
Next
ReDim Crr(1 To Y.Count, 1 To UBound(Brr, 2))
For Each K In Y.Keys
   N = N + 1
   For j = 1 To UBound(Brr, 2): Crr(N, j) = Brr(K, j): Next
   Crr(N, 3) = Crr(N, 3) & ")": Crr(N, 5) = "=" & Crr(N, 3)
Next
If N > 0 Then Workbooks.Add: [A1].Resize(N, UBound(Brr, 2)) = Crr
End Sub
作者: 198188    時間: 2025-11-10 17:17

回復  Andy2483


    今天學習可多輪計算方案,請各位前輩指教

Option Explicit
Sub TEST2()
Cons ...
Andy2483 發表於 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
複製代碼
謝謝前輩指點,請問如果直接計算Qty, 我刪除了一些“()+ * ”,但是第二輪的金額不對,是否我刪得不對,請幫看看。
作者: Andy2483    時間: 2025-11-11 09:13

回復 19# 198188


    https://learn.microsoft.com/zh-t ... pplication.evaluate
將18樓方案 Crr(N, 3) = Crr(N, 3) & ")": Crr(N, 5) = "=" & Crr(N, 3)
改成              Crr(N, 3) = Evaluate(Crr(N, 3) & ")")

以上是可以直接得到數值的方法與Evaluate() 參考網頁
PS:後學邏輯/心算都普普,沒有用18樓拼湊出公式的方法,腦筋會打結
謝謝前輩指教
作者: 198188    時間: 2025-11-11 09:56

回復  198188


   
將18樓方案 Crr(N, 3) = Crr(N, 3) & ")": Crr(N, 5) = "=" & Crr(N, 3)
改成   ...
Andy2483 發表於 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
複製代碼
前輩,改完出現的Qty 是 " FALSE "
作者: Andy2483    時間: 2025-11-11 10:14

回復 21# 198188


Crr(N, 3) = Crr(N, 3) = Evaluate(Crr(N, 3) & ")")
改為
Crr(N, 3) = Evaluate(Crr(N, 3) & ")")
試試看
作者: 198188    時間: 2025-11-11 10:43

回復  198188


Crr(N, 3) = Crr(N, 3) = Evaluate(Crr(N, 3) & ")")
改為
Crr(N, 3) = Evaluate(Cr ...
Andy2483 發表於 2025-11-11 10:14


謝謝前輩指點。
作者: 准提部林    時間: 2025-12-6 13:43

回復 9# 198188

Sub Test()
Dim Arr, Brr, Crr, xD, T$, V, i&, j%, k%, U&, N&
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range(Sheets("Read").[m1], Sheets("Read").[a65536].End(3))
Brr = Range(Sheets("Data Base").[m1], Sheets("Data Base").[a65536].End(3))
'----------------------------------
ReDim Crr(1 To UBound(Brr), 1 To UBound(Brr, 2))
N = 2: Crr(N, 1) = "'==( Round-" & k + 1 & " )======"
For j = 1 To UBound(Arr, 2): Crr(N - 1, j) = Arr(1, j): Next
'-----------------------------------
For i = 2 To UBound(Arr)
    T = Arr(i, 1): V = Val(Arr(i, 3)): U = xD(T & "+" & k)
    If U = 0 Then
       N = N + 1: U = N: xD(T & "+" & k) = N: V = 0
       For j = 1 To UBound(Arr, 2): Crr(N, j) = Arr(i, j): Next
    End If
    Crr(U, 3) = Crr(U, 3) + V
    xD(T & "/" & k) = Crr(U, 3)
Next i
'------------------------------
For k = 1 To 2
    N = N + 1: Crr(N, 1) = "'==( Round-" & k + 1 & " )======"
    For i = 2 To UBound(Brr)
        T = Brr(i, 8): V = Val(Brr(i, 3)): U = xD(T & "/" & k - 1)
        If U > 0 Then
           N = N + 1: T = Brr(i, 1)
           For j = 1 To UBound(Brr, 2): Crr(N, j) = Brr(i, j): Next
           Crr(N, 3) = V * U
           xD(T & "/" & k) = xD(T & "/" & k) + V * U
        End If
    Next i
Next k
'------------------------------
With Sheets("Test")
     .UsedRange.EntireRow.Delete
     .[a1].Resize(N, UBound(Crr, 2)) = Crr
     Application.Goto .[a1]
End With
Beep
End Sub

[attach]38310[/attach]
作者: winint1    時間: 2025-12-13 03:45     標題: Girls From Your Town - No Selfie - Anonymous Casual Dating

Private Lady In Your City - No Verify - Anonymous Casual Dating
https://PrivateLadyEscorts.com

Private Lady From Your Town  - Anonymous Adult Dating - No Selfie




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)