如何在范围内使用VLookup更新文本文件?

我试图在文本文件输出中获取一个字段,以更新引用数组(Temp),其中B列检查D列并作为D列中的数据进行更新。

STEPS:

创建数组(临时),然后使用“索引匹配”将B列设置为D列以填充H列

Range("H2:H17") = "=INDEX(D2:D17,MATCH(B2:B17,B2:B17,0))"

如何在范围内使用VLookup更新文本文件?

基于数组中列D的代码以拖动列B:

Dim DoEdit As String
Dim Source As String
Sheets("Temp").Select
Source = Range("B2").Value

EditLine = Line

DoEdit = Range("H2")
If DoEdit <> "" Then
    Target = Application.WorksheetFunction.VLookup(Source,Range("B2:D20"),3,False)
End If

此代码仅在定义了源的情况下才1对1起作用,因为源设置为B2,所以输出为“ test1”。

正确的输出应通过B列中的列表: 96NW2702是test1 0039430695是test3 23832026是test11

问题:

我如何通过执行VLookup,检查B列与D列来获取“目标”来更新文本文件。基本上,索引和匹配项是上面上面做的事情,循环遍历B列中的列表吗?我尝试将源设置为B列的范围,但获取“对象必需”,并且无法遍历其余代码。

Dim DoEdit As String
Dim Source As String
Sheets("Temp").Select
Set Source = ThisWorkbook.Worksheets("temp").Range("B2:B20")

EditLine = Line

DoEdit = Range("H2")
If DoEdit <> "" Then
        Target = Application.WorksheetFunction.VLookup(Source,False)
End If

否则,使目标等于上面的索引和匹配公式是否更简单?尝试下面的代码与索引和匹配,我得到“无法获得工作表函数类的匹配属性”

Target = Application.WorksheetFunction.Index(Sheets("Temp").Range("D2:D11"),Application.WorksheetFunction.Match(2,Sheets("Temp").Range("B2:B11"),0),1)

感谢您的帮助!

gajba 回答:如何在范围内使用VLookup更新文本文件?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168983.html

大家都在问