|
如下:有两段代码,第一部分是调用函数的过程
Sub Macro1()
replace(sheets1,Sheets2,Sheets3,1)
End Sub
第二部分为自编函数:(SH1,SH2,SH3分别代表3个工作簿,n为原始数据输入列,现在需要通过调用函数实现输入4个参数实现替换)
Function replace(SH1, SH2, SH3, n$)
Dim arr, brr, d, i&, j%
Set d = CreateObject("scripting.dictionary")
arr = SH1.Range("a1").CurrentRegion
brr = SH2.Range("a1").CurrentRegion
For i = 2 To UBound(arr)
d(arr(i, n)) = arr(i, n + 1)
Next
For i = 1 To UBound(brr)
For j = 1 To UBound(brr, 2)
If d.exists(brr(i, j)) Then brr(i, j) = d(brr(i, j))
Next
Next
SH3.Activate
ActiveSheet.UsedRange.ClearContents
Range("a1").Resize(UBound(brr), UBound(brr, 2)) = brr
End Function
求帮忙修改实现函数调用实现该功能
|
|