返回列表 上一主題 發帖

[發問] 請問如何撰寫VBA,使特定數值成為所對應於其他工作表儲存格內容並加總 (已解決)

回復 2# sax868
  1. Sub ex()
  2. Dim A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet2 'Size
  5. For Each A In .Range(.[A2], .[A2].End(xlDown))
  6.    d(A & A.Offset(, 2)) = A.Offset(, 3).Value
  7. Next
  8. With Sheet3 'Color
  9. For Each A In .Range(.[A2], .[A2].End(xlDown))
  10.    d(A & A.Offset(, 2)) = A.Offset(, 3).Value
  11. Next
  12. With Sheet1 'Original
  13. For Each A In .Range(.[G2], .[G2].End(xlDown))
  14. ar = Split(Replace(A.Offset(, 1), " ", ""), ",") 'Color
  15. ay = Split(Replace(A.Offset(, 3), " ", ""), ",") 'Size
  16.    For i = 0 To UBound(ar)
  17.        y = y + d(A & ar(i))
  18.    Next
  19.    For i = 0 To UBound(ay)
  20.       x = x + d(A & ay(i))
  21.    Next
  22.    
  23.    A.Offset(, 8) = A & A.Offset(, -1)
  24.    A.Offset(, 9).Resize(, 2) = Array(y, x)
  25.    x = 0: y = 0
  26. Next
  27. End With
  28. End With
  29. End With
  30. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 5# sax868
  1. Sub ex()

  2. Dim A As Range

  3. Set d = CreateObject("Scripting.Dictionary")

  4. With Sheet2 'Size

  5. For Each A In .Range(.[A2], .Cells(.Rows.Count, 1)).SpecialCells(xlCellTypeConstants)

  6.    d(A & A.Offset(, 2)) = A.Offset(, 3).Value

  7. Next

  8. With Sheet3 'Color

  9. For Each A In .Range(.[A2], .Cells(.Rows.Count, 1)).SpecialCells(xlCellTypeConstants)

  10.    d(A & A.Offset(, 2)) = A.Offset(, 3).Value

  11. Next

  12. With Sheet1 'Original

  13. For Each A In .Range(.[G2], .Cells(.Rows.Count, 7)).SpecialCells(xlCellTypeConstants)

  14. ar = Split(Replace(A.Offset(, 1), " ", ""), ",") 'Color

  15. ay = Split(Replace(A.Offset(, 3), " ", ""), ",") 'Size

  16.    For i = 0 To UBound(ar)

  17.        y = y + d(Left(A, 7) & ar(i))

  18.    Next

  19.    For i = 0 To UBound(ay)

  20.       x = x + d(Left(A, 7) & Split(ay(i), "-")(0))

  21.    Next

  22.    

  23.    A.Offset(, 8) = A & A.Offset(, -1)

  24.    A.Offset(, 9).Resize(, 2) = Array(Format(y, "#.##%"), Format(x, "#.##%"))

  25.    x = 0: y = 0

  26. Next

  27. End With

  28. End With

  29. End With

  30. End Sub
複製代碼
不清楚第5個問題在描述甚麼?
學海無涯_不恥下問

TOP

        靜思自在 : 做該做的事是智慧,做不該做的事是愚癡。
返回列表 上一主題