VBA, Объединить. Формула с VBA - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть следующий код vba, который помещает формулу в ячейку.

 .Range("D" & lastrow + 1).Formula = "=INDEX(Spread!$C:$C, MATCH(1,INDEX((A330 = Spread!$A:$A) * (""Stack"" =Spread!$B:$B),),0))"

Как мне изменить A330 в моей формуле на код vba, например Worksheets("Manager").Range("C2").Value

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Вы также можете хранить данные в переменной и использовать их вместо A330.Таким образом, вы всегда можете использовать вновь созданную переменную внутри вашего кода в любое время в любом месте вашего кода

myData = Worksheets("Manager").Range("C2").Value
.Range("D" & lastrow + 1).Formula = "=INDEX(Spread!$C:$C, MATCH(1,INDEX((myData = Spread!$A:$A) * (""Stack"" =Spread!$B:$B),),0))"
0 голосов
/ 05 декабря 2018

Просто конкатенируйте как обычную строку, используя оператор &.Поскольку вы не присоединяете текст, а скорее объект VBA, не заключайте в кавычки объект.

"=INDEX(Spread!$C:$C, MATCH(1,INDEX((" & Worksheets("Manager").Range("C2").Value & "= Spread!$A:$A) * (""Stack"" =Spread!$B:$B),),0))"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...