VLOOK UP的自动化工具

时间:2018-08-29 14:24:55

标签: vba automation vlookup

我需要在一组excel文件中执行许多VLookup,为此,我构建了一个工具,可以将自动VLookup从一个文件复制到另一个文件,但是我需要使其具有可伸缩性和适应性。

为此,我想在工具的某些单元格(这是一个Excel文件)中输入VLookup的参数:

  • 关键列的位置
  • “返回值”列的位置
  • 该范围内的列数

您知道如何更改我的工具以使其包含这些输入参数吗?

此处的代码示例:

For myrow = 3 To lastrow
    Range("b" & myrow).FormulaR1C1 = _
      "=VLOOKUP(RC[-1], Input!C[-1]:C[2],2,FALSE)"
Next myrow

1 个答案:

答案 0 :(得分:1)

我不太熟悉R1C1表示法,但是如果您使用常规的.Formula表示法:

以下代码假定A1 =键列,A2 =返回值列,A3 =范围内的列数(实际上只是您的返回列)。 / p>

lastrow = 10仅作为示例

还请注意-您必须缺少一个字段...因为您应该有4个变量-第一个参数为关键列,第二个参数为2个列字母,第三个参数为列数。

Sub Test()

lastrow = 10

For myrow = 3 To lastrow

    'Range("B" & myrow).Formula = "=VLOOKUP(" & Range("A1").Value & myrow & ",Input!$" & Range("A1").Value & ":$" & Range("A2").Value & "," & Range("A3").Value & ",FALSE)"
    Debug.Print "=VLOOKUP(" & Range("A1").Value & myrow & ",Input!$" & Range("A1").Value & ":$" & Range("A2").Value & "," & Range("A3").Value & ",FALSE)"

Next myrow

End Sub

ActiveSheet上的值:

img1

立即窗口返回:

img2