VBA中的索引/匹配循环

问题描述 投票:0回答:1

我正在尝试将Index / Match Excel公式转换为VBA,但是不起作用。

我有两张纸。一个称为“ ExcludeInclude”,另一个称为“ PCAM承诺”。“ ExcludeInclude”工作表如下所示:ExcludeInclude

“ PCAM承诺”表如下:PCAM Commitments

基本上,我要做的就是匹配Exclude / Include值。例如,“ SO045828757”在“ ExcludeInclude”表上显示为“ Exclude”。我需要在“ PCAM承诺”表的G列中显示“排除/包含”值(使用循环/索引/匹配的组合)。

此excel公式将完成此工作:

=INDEX(ExcludeInclude!$B$2:$C$136, MATCH('PCAM Commitments'!A2,ExcludeInclude!$B$2:$B$136,0),2)

但是我需要将此公式转换为VBA。

这就是我所拥有的]

Sub ExIn()

Dim i As Integer
Dim lookRange As Range
Dim StartRange As Range

lookRange = Sheets("ExcludeInclude").Range("B2:C136")
StartRange = Sheets("ExcludeInclude").Range("B2:B136")

For i = 2 To 136
    Worksheets("PCAM Commitments").Cells(i, 7) = WorksheetFunction.Index(lookRange, WorksheetFunction.Match(Worksheets("PCAM Commitments").Cells(i, 1).Value, StartRange, 0), 2)

Next i

End Sub

但是它不起作用,每当我尝试运行它时,都会弹出一个错误消息框,提示“对象变量或未设置块变量”。

任何帮助将不胜感激!谢谢!

excel vba match
1个回答
0
投票
Set lookRange = Sheets("ExcludeInclude").Range("B2:C136")
Set StartRange = Sheets("ExcludeInclude").Range("B2:B136")
© www.soinside.com 2019 - 2024. All rights reserved.