Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 对两个不同的工作簿使用匹配功能_Vba_Excel - Fatal编程技术网

Vba 对两个不同的工作簿使用匹配功能

Vba 对两个不同的工作簿使用匹配功能,vba,excel,Vba,Excel,我被指派使用vba中的.match函数来比较两个不同工作簿中的两个不同列 这是我到目前为止的代码。。如何使用匹配功能来实现目标 Sub Ob_match() Dim swb As Workbook, dwb As Workbook Dim sws As Worksheet, dws As Worksheet Dim oCell As Range, oMatch As Range Set swb = ActiveWorkbook Set sws = swb.S

我被指派使用vba中的.match函数来比较两个不同工作簿中的两个不同列

这是我到目前为止的代码。。如何使用匹配功能来实现目标

    Sub Ob_match()
    Dim swb As Workbook, dwb As Workbook
    Dim sws As Worksheet, dws As Worksheet
    Dim oCell As Range, oMatch As Range



Set swb = ActiveWorkbook
Set sws = swb.Sheets("Item")

Set dwb = Workbooks.Open(swb.Path & "\EPC_EndItem.xlsm", ReadOnly:=True)
Set dws = dwb.Sheets("Data")


    If Not oMatch Is Nothing Then
        oCell.Offset(0, 1) = "Y"
    Else
        oCell.Offset(0, 1) = ""
    End If
Next oCell
MsgBox "Processing completed"
End Sub

要运行此代码,您应该在第一个工作簿上运行,第二个工作簿应该在后台打开,我发现这是一种比使用工作簿的地址调用工作簿更简单的方法,如果您愿意,可以更改它

Sub vl()
Dim lastrow As Long   

Sheets("Items").Select    
lastrow = Range("B" & Rows.Count).End(xlUp).Row



Range("C2:C" & lastrow).Formula = "=IF(VLOOKUP(RC2,[Book2]Data!C4,1,FALSE),  ""OK"","""")"
端接头

在这里,我假设您的第二本书的名字是Book2。 将其更改为代码中的任何内容。
希望这对您有所帮助:)

为什么您必须使用vba?在vba中实现这一点最简单的方法是更难、更密集的工作,并且可能出于兴趣而使用查找,这是什么意思?你的工作不喜欢vlookups吗?这个问题可能与这个问题几乎相同,并且包括一个据说“工作完美”的VBA解决方案。所以显然有人已经在你的另一个问题中为你做了工作:这是某种入学考试还是什么?如果你的雇主不允许你使用
vlookups
,他们对使用宏的看法非常模糊(无论宏是否使用
Find
语句)。雇主希望解决方案不需要太多的专业知识来维护,而且
VLOOKUP
内置于Excel本身,因此他们已经为此支付了费用。请尝试运行您的代码,然后更正错误,例如,引用列RC而不是B,引用列C而不是D(都是由于在A1表示法公式中使用R1C1表示法),以及返回#N/A和#VALUE!错误(都是由于假设
VLOOKUP
将返回
TRUE
FALSE
结果)。