|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
我写了下程序,好像编码不全。
- Sub abey()
- Dim arr, brr, crr, i&, j&, r&
- Set d1 = VBA.CreateObject("scripting.dictionary")
- Set d2 = VBA.CreateObject("scripting.dictionary")
- arr = Sheets("客户采购单").Range("a1").CurrentRegion
- brr = Sheets("供货商").Range("a1").CurrentRegion
- ReDim crr(1 To UBound(arr), 1 To 5)
- For j = 2 To 3
- For i = 2 To UBound(brr)
- s = brr(i, j)
- If s <> "" Then
- If j = 2 Then
- If Not d1.exists(s) Then d1(s) = brr(i, 1)
- Else
- If Not d2.exists(s) Then d2(s) = brr(i, 1) & "," & brr(i, 2)
- End If
- End If
- Next
- Next
- For i = 2 To UBound(arr)
- s = arr(i, 1)
- If s <> "" Then
- If d1.exists(s) Then
- crr(i, 1) = d1(s)
- crr(i, 2) = arr(i, 1)
-
- crr(i, 4) = arr(i, 2)
- crr(i, 5) = arr(i, 3)
- Else
- If d2.exists(s) Then
- ss = Split(d2(s), ",")
- crr(i, 1) = ss(0)
- crr(i, 2) = arr(i, 1)
- crr(i, 3) = ss(1)
- crr(i, 4) = arr(i, 2)
- crr(i, 5) = arr(i, 3)
- Else
- crr(i, 2) = arr(i, 1)
- crr(i, 4) = arr(i, 2)
- crr(i, 5) = arr(i, 3)
- End If
- End If
- End If
-
- Next i
- crr(1, 1) = "商品编号": crr(1, 2) = "商品名称": crr(1, 3) = "备注": crr(1, 4) = "客户名称": crr(1, 5) = "下单数量"
- Sheets("效果").Range("a1").Resize(UBound(arr), 5) = crr
- End Sub
复制代码 |
|