Автоматизированный инструмент для VLOOK UP - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно выполнить много VLookup в наборе файлов Excel, и для этого я создал инструмент, который может сделать автоматизированный 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 голосов
/ 29 августа 2018

Я не очень хорошо разбираюсь в нотации R1C1, но если бы вы использовали обычную нотацию .Formula:

В следующем коде предполагается, что A1 = Столбец ключа, A2 = Столбец возвращаемого значения, A3 = Количество столбцов в диапазоне (в действительности это только ваш возвращаемый столбец).

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

...