|
楼主 |
发表于 2020-9-16 09:37
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
感谢曾经帮助我的老师们!!趁着今年疫情期间,学习了一下VBA!自己的问题就用VBA来练习一个!!
Sub AwTest()
Dim i%, k%, tStr$, arr, d As Object
Set d = CreateObject("Scripting.Dictionary")
arr = [a1].CurrentRegion.Resize(, 4)
For i = 2 To UBound(arr)
If Len(arr(i, 1)) Then tStr = arr(i, 1)
If arr(i, 4) > 0 Then d(tStr) = i
Next
For i = 2 To UBound(arr)
If Len(arr(i, 2)) Then tStr = arr(i, 2): k = d(arr(i, 1))
If i <= k Then arr(i, 2) = tStr
Next
[o1].Resize(UBound(arr), 4) = arr
End Sub |
|