Excel VB:如果满足条件,如何调用VLOOKUP?

时间:2017-06-02 20:00:55

标签: excel-vba vba excel

我有一个来自Oracle的数据集,但很多记录都缺少E列中的GEO数据(AMER,EMEA,APAC),而是显示" - &#34 ;。我正在使用VB格式化和处理这些数据,除了这一件,我还有一切工作。

我想要做的是调用VLOOKUP公式来替换那些" - "根据第J栏中显示的国家名称使用正确的GEO值。应绕过所有GEO已存在的记录。不幸的是,我为此构建的代码覆盖了每条记录:

For z = 1 To LR
    x = Application.VLookup(Cells(z, "J"), Sheets("MasterTerritoryList").Columns("A:F"), 6, False)
    If Not (IsError(x)) Then
       Cells(z, "E").Value = x
    End If
Next z

有人可以通过向我展示如何阅读E栏中的数据并仅替换那些等于" - "?

的值来帮助我

非常感谢!!

1 个答案:

答案 0 :(得分:2)

  For z = 1 To LR
      If Cells(z, "E").text = "-" Then ' <-------- Add this test
        X = Application.VLookup(Cells(z, "J"), Sheets("MasterTerritoryList").Columns("A:F"), 6, False)
        If Not (IsError(X)) Then Cells(z, "E").Value = X
      End If
  Next z