我想使用Vlookup函数47次来获取每个数据的值。我将要填充的表称为“表1”。 “表1从E3开始。我想使用vlookup查找单元格E3的值并将其填充到F3中。
我将通过Vlookup从中返回值的表称为“ Table2”。 “表2位于工作表“ CC名称”中,并且具有两列A和B。
我尝试了两个FOR循环。 V FORUPUP函数的一个FOR循环重复47次。 vlookup函数“ ccName”的名称的第二个FOR循环使用该函数填充“表1”中的值达43次,但是每次实现该代码时都会出错。
Sub GLcreation()
For n = 3 To 50
For c = 3 To 50
ccName(c) = WorksheetFunction.Vlookup(Range("E" & n), Worksheets("CC Name").Range("A:B"), 2, 0)
Range("F" & n) = ccName(c)
Next c
Next n
End Sub
如果您可以向我展示如何为正确的Loop编码,请多谢帮助。
答案 0 :(得分:0)
通过摆脱c循环,正确的代码是:
Range("F" & n) = WorksheetFunction.Vlookup(Range("E" & n), Worksheets("CC Name").Range("A:B"), 2, 0)
答案 1 :(得分:0)
一旦不匹配,代码将失败。在进行查找之前测试匹配是否安全。这是一个更好的解决方案:
Sub GLcreation()
Dim n As Integer
Dim wf As WorksheetFunction
Set wf = WorksheetFunction
For n = 3 To 50
If wf.CountIf(Worksheets("CC Name").Range("A:A"), Range("E" & n).Value) > 0 Then
Range("F" & n).Value = wf.Index(Worksheets("CC Name").Range("B:B"), wf.Match(Range("E" & n).Value, Worksheets("CC Name").Range("A:A"), 0))
End If
Next n
End Sub