VBA Vlookup条件(如果有的话)源数据和vlookup范围在不同的工作表上

永远学习

有条件的Vlookup我需要您的帮助。我发现如果源数据中有vlookup值,则代码可以正常工作,但是一旦缺少值,它就会失败。另外,我还需要添加一个条件(“如果通过Lookup找到了值,则返回“旧”(从vlookup表的第二列))'如果未找到该值,则返回“ New”(只是没有出现的文本(来自vlookup表)。您能帮我吗?

Sub Vlookup_Condition()
Dim rng As Range
Dim i As Long

With ActiveSheet.Cells
    Set rng = .Range("A1:A" & .Cells(.Rows.count, 1).End(xlUp).row)

    For i = 2 To rng.Rows.count
        'If the value is found by Lookup, then return "Old" (from 2nd column in vlookup table)
        'If the value is NOT found, then return "New" (just text which is not coming from vlookup
        'table)

        rng.Cells(i, 2) = Application.WorksheetFunction.VLookup(.Cells(i, 1), Sheets("Lookuptable").Range("A:B"), 2, False)
    Next
End With

结束子

贾加迪什·达比鲁

根据您的困惑。我找到了这样的解决方案Russ

更新和测试

Sub Vlookup_Condition() 
Dim rng As Range 
Dim i As Long 

Application.ScreenUpdating = False 

Worksheets("DataFile").Activate 

Range("R2").Activate 

With Worksheets("DataFile").Cells 
Set rng = .Range("O1:O" & .Cells(.Rows.count, 1).End(xlUp).row) 

For i = 2 To rng.Rows.count 

rng.Cells(i, 4) = Application.VLookup(.Cells(i, 15), Sheets("Lookuptable").Range("A:B"), 2, False) 
If IsError(rng.Cells(i, 4)) Then
   If rng.Cells(i, 4) = CVErr(xlErrNA) Then ' Given if condition to change it from "#NA" to "New"
     rng.Cells(i, 4) = "New"
   End If
End If
Next 
End With 

Application.ScreenUpdating = True 

End Sub 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

源代码属性VB_VarMemberFlags在VBA中有什么作用(如果有的话)?

如何在VBA中使用不同的工作表和变量来定义VLOOKUP中的范围?

vlookup和条件复制数据vba

如何在XSLT中使用内联条件式(如果有的话)?

如何制作蛋糕,如果有的话/ CakePHP中的条件除法

不同工作表中的VBA vlookup参考

删除每行上的注释(如果有的话)

VLOOKUP VBA 的表参考

Excel VBA-自定义功能;#VALUE错误;VLOOKUP在不同的工作表上

跨多个工作表的VBA Vlookup

将模型拟合到分组数据,如果有条件的话

带范围的 Excel VBA Vlookup

LocalCache和TempState应用程序数据文件夹之间有什么区别(和相似之处,如果有的话)?

在 RRS 提要中寻找不同的坏词,卡在变量列表中,如果有的话

为什么在指定条件下在Typescript中首选interface或type(如果有的话)?

如何在本网站中自动提取数据?(看不到查询选项,如果有的话)

ext3和ext4之间的主要实际差异-如果有的话?

USB 3.0集线器和USB延长电缆如何影响延迟(如果有的话)?

VBA vlookup 数据不匹配

有什么用例(如果有的话)使类不可移动?

如果有的话,CPython中使用的堆栈是什么?

如果有的话,如何从装饰器的参数中删除 self 参数

c#:如果有的话,删除包含其内容的特定大小的括号

如果有的话,Rebol在红色中的等效性是什么?

如果有的话,如何安装Nvidia驱动程序的更新

盐堆(如果有的话)进行维修

嵌套BiFunction的深度(或限制,如果有的话)是多少?

如果有的话,美丽的汤提取多个链接

Selenium 在哪里存储 DOM(如果有的话)?