Ввод формулы в диапазон с использованием диммерных переменных - PullRequest
0 голосов
/ 19 февраля 2019

Мне было интересно, не могли бы вы помочь мне в создании определенного макроса.Я хотел бы создать пользовательский интерфейс как часть существующего макроса, который помогает людям создавать формулу VLOOKUP (поскольку они не особенно знакомы с Excel).

  • Я могу установить Lookup_Value с помощьюиспользуя «FirstSedol» ниже
  • , я могу вернуть диапазон через окно интерфейса пользователя как «Сделки».
  • Затем я могу вернуть количество столбцов в диапазоне «Trades» как «ColumnCount», так как я хочу, чтобы VLOOKUP осуществлял поиск в первом столбце диапазона «Trades» и возвращал последний столбец и, следовательно,использовал 'ColumnCount'.

Я знаю, что все части работают индивидуально, так как я возвращал их результаты, используя окна сообщений и т. Д. Однако я просто не могу получить код для ввода формулы VLOOKUP в ячейку H3 на моем рабочем листе ниже (жирным шрифтом).Вы могли бы предложить какую-либо помощь случайно?

Dim Trades As Range 'Prompts user to select range of cells for the VLOOKUP
    Set Trades = Application.InputBox("Select the range of cells from the first sedol on the asset allocation (top left), through to bottom right hand corner of the 'changes' column ", "Select cell range", Type:=8)

Dim ColumnCount
    ColumnCount = Trades.Columns.Count

Dim FirstSedol As Range 'Asks the user to select the first SEDOL code to lookup
    Set FirstSedol = Application.InputBox("Select the first sedol to search for", "Select first sedol", Type:=8)

**Worksheets("Quick Value").Range("H3").Formula = "=Vlookup(FirstSedol, Trades, ColumnCount, FALSE)*-1)"**

Большое спасибо!Andrew

1 Ответ

0 голосов
/ 19 февраля 2019

Вам необходимо удалить переменную из строки и объединить адрес для диапазонов.

Worksheets("Quick Value").Range("H3").Formula = "=Vlookup(" & FirstSedol.Address(0,0) & ", " & Trades.Address(0,0) & ", " & ColumnCount & ", FALSE)*-1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...