我在下面有一个代码,但它无法正常工作。这段代码中缺少一些东西。你能帮帮我吗?
提前致谢。
我添加了一个sample.xls来显示我的请求。
我没有错误处理程序,我的hlookup和match函数返回一个值。但它返回range(N6:CQ7899)
中每个单元格的相同结果(值)。通常,如果我在单元格N6
=IFERROR(HLOOKUP(N$5,min!$C$2:$CF$7899,MATCH($E6,min!$B$2:$B$7899,0),FALSE);0)
中使用公式并转到最后一行和最后一列,则每个单元格都将具有hlookup
和match
的唯一条件。我的要求是宏如何做到如下;
对于范围N6中的行:N7899,O6:O7899,...和CQ6:CQ7899
N6
= IFERROR(HLOOKUP(的 N $ 5'/ strong>下,分钟$ C $ 2:$ CF $ 7899,MATCH(的 $ E6 !强>,分钟$ B $ 2:$ B $ 7899,0),FALSE); 0)
,
N7= IFERROR(HLOOKUP(的 N $ 5'/ strong>下,分钟$ C $ 2:$ CF $ 7899,MATCH(的 $ E7 下,分钟$ B $ 2:$ B $ 7899,0)。,FALSE); 0)`,,, 。,。 到最后一排。
并为列做;
O6
=IFERROR(HLOOKUP(**O$5**,min!$C$2:$CF$7899,MATCH(***$E6***,min!$B$2:$B$7899,0),FALSE);0)
,O7
=IFERROR(HLOOKUP(**O$5**,min!$C$2:$CF$7899,MATCH(***$E7***,min!$B$2:$B$7899,0),FALSE);0)
,...,。,。 列(CQ7899)
中的最后一个单元格CQ
。
Function matcd()
Dim adegm As Range
Dim adizm As Range
Dim adegh As Range
Dim adizh As Range
Dim rnghFormulaCell As Range
Dim varResult1 As Variant
Set adegh = Worksheets("ara").Range("N5")
Set adizh = Worksheets("min").Range("C2:CF7899")
Set adegm = Worksheets("ara").Range("E5:E")
Set adizm = Worksheets("min").Range("B2:B7899")
Set rnghFormulaCell = Worksheets("ara").Range("N6:CQ7899") '
Worksheets("ara").Range("N6:CQ" & Rows.Count).ClearContents
varResult1 = Application.WorksheetFunction.HLookup(adegh, adizh, Application.WorksheetFunction.Match(adegm, adizm, 0), 0)
'.....
'i don't know how to Add results of varResult1 to an array in rnghFormulaCell
'.....
If Not IsError(varResult1) Then rnghFormulaCell = varResult1
End Function