|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Sub pipei()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
ar = Sheet1.[a1].CurrentRegion
For i = 2 To UBound(ar)
If Trim(ar(i, 5)) <> "" Then
d(Trim(ar(i, 5))) = i
ElseIf Trim(ar(i, 4)) <> "" And Trim(ar(i, 5)) = "" Then
d(Trim(ar(i, 4))) = i
End If
Next i
f = Dir(ThisWorkbook.Path & "\数据\明细.csv")
Set wb = Workbooks.Open(ThisWorkbook.Path & "\数据\" & f, 0)
br = wb.Worksheets(1).[a1].CurrentRegion
For i = 2 To UBound(br)
If Trim(br(i, 8)) <> "" Then
m = d(Trim(br(i, 8)))
ElseIf Trim(br(i, 7)) <> "" And Trim(br(i, 8)) = "" Then
m = d(Trim(br(i, 7)))
End If
If m <> "" Then
ar(m, 11) = br(i, 10)
ar(m, 12) = br(i, 12)
ar(m, 13) = br(i, 13)
ar(m, 14) = br(i, 14)
End If
Next i
wb.Close False
Sheet1.[a1].CurrentRegion = ar
End Sub
|
|