Vba 对两个不同的工作簿使用匹配功能
我被指派使用vba中的.match函数来比较两个不同工作簿中的两个不同列 这是我到目前为止的代码。。如何使用匹配功能来实现目标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
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
结果)。