返回列表 上一主題 發帖

[發問] 想請教兩筆不同資料如何整合成一筆?(以解決)

回復 1# ivan731129
  1. Sub Ex()
  2. Dim A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. d("公司") = Array("公司", "編號", "產量", "地址", "電話")
  5. With Sheet2
  6.    For Each A In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
  7.      d(A.Value) = Array(A.Value, "", 0, A.Offset(, 1).Value, A.Offset(, 2).Value)
  8.    Next
  9. End With
  10. With Sheet1
  11.    For Each A In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
  12.    ar = d(A.Value)
  13.      temp = ar(2): ar(1) = A.Offset(, 1).Value
  14.      If A.Offset(, 2) > temp Then ar(2) = A.Offset(, 2)
  15.      d(A.Value) = ar
  16.    Next
  17. End With
  18. Sheet5.[A1].Resize(d.Count, 5) = Application.Transpose(Application.Transpose(d.items))
  19. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 3# ivan731129
  1. Sub Ex()
  2. Dim A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")
  5. d1("公司") = Array("公司", "編號", "產量", "地址", "電話") '合併後標題列文字
  6. With Sheet2
  7.    For Each A In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
  8.      d(A.Value) = Array(A.Offset(, 1).Value, A.Offset(, 2).Value) '將客戶資料儲存
  9.    Next
  10. End With
  11. With Sheet1
  12.    For Each A In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
  13.    If IsEmpty(d1(A & A.Offset(, 3))) Then '以時間與客戶名稱為索引儲存
  14.       d1(A & A.Offset(, 3)) = Array(A.Value, A.Offset(, 1).Value, A.Offset(, 3).Value, d(A.Value)(0), d(A.Value)(1))
  15.      Else
  16.      ar = d1(A & A.Offset(, 3))
  17.      If A.Offset(, 3).Value > ar(2) Then ar(2) = A.Offset(, 3).Value
  18.      d1(A & A.Offset(, 3)) = ar
  19.     End If
  20.    Next
  21. End With
  22. Sheet5.[A1].Resize(d1.Count, 5) = Application.Transpose(Application.Transpose(d1.items))
  23. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 5# ivan731129


d(A.Value) = Array(A.Offset(, 1).Value, A.Offset(, 2).Value)'這裡是公司資料以公司為索引對應的地址跟執行人
A.Offset(, 1).Value=地址
A.Offset(, 2).Value=執行人


d1(A & A.Offset(, 3)) = Array(A.Value, A.Offset(, 1).Value, A.Offset(, 3).Value, d(A.Value)(0), d(A.Value)(1)) '這是以公司名跟時間合併為索引對應的公司,編號,產量,地址,執行人
A.Value=公司
A.Offset(, 1).Value=編號
A.Offset(, 3).Value=產量
d(A.Value)(0)=地址
d(A.Value)(1)) =執行人
學海無涯_不恥下問

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題