在VBA中查找和匹配相当于
sample.xls图像
我有一个代码在下面,但它不能正常工作。 这段代码中缺less一些东西。 你能帮我一下吗?
提前致谢。
我添加了一个sample.xls来显示我的请求。
sample.xls
我没有一个error handling程序,我用hlookup和匹配函数返回一个值。 但是对于range(N6:CQ7899)
每个单元格range(N6:CQ7899)
,返回的结果(值)相同。 =IFERROR(HLOOKUP(N$5,min!$C$2:$CF$7899,MATCH($E6,min!$B$2:$B$7899,0),FALSE);0)
和去到最后一行和最后一个col,每个单元格都将具有独特的标准,同时hlookup
和match
。 我的要求是如何通过macros来做到如下; 对范围为N6:N7899,O6:O7899,…和CQ6:CQ7899的行执行
N6
= IFERROR(HLOOKUP( N $ 5 ,min!$ C $ 2:$ CF $ 7899,MATCH( $ E6 ,min!$ B $ 2:$ B $ 7899,0),FALSE); 0)
,
N7= IFERROR(HLOOKUP( N $ 5 ,min!$ C $ 2:$ CF $ 7899,MATCH( $ E7 ,min!$ 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)
。,。,。,。 直至CQ
栏中的最后一个单元格(CQ7899)
。
如果可能,请检查sample.xls图像或xls文件。
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