Как определить именованный диапазон, используя Excel VBA, которая включает в себя некоторые формулы - PullRequest
0 голосов
/ 08 января 2019

Мне нужно определить именованный диапазон, который включает формулу, но я каждый раз получаю ошибки. Ошибки включают в себя требования к объекту, несоответствие типов и т. Д. Кто-нибудь может мне помочь с этим?

в основном именованный диапазон, такой как NAME1, который относится к:

=INDEX(LFSLookup!$AC$3:$AC$2000,MATCH("NAME"&LFSSPA!$C$25,LFSLookup!$Z$3:$Z$2000,0))

Я пробовал следующий код, но он не работал.

 Set IMAGE1Range = "=INDEX(LFSLookup!$AC$3:$AC$2000,MATCH(" & "NAME" & ThisWorkbook.Worksheets("sheet1").Range("C25").Value & ",LFSLookup!$Z$3:$Z$2000,0))"
    IMAGE1 = "IMAGE1111"
    ThisWorkbook.Names.Add Name:=IMAGE1, RefersTo:=IMAGE1Range

1 Ответ

0 голосов
/ 08 января 2019

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

Option Explicit

Sub DoTheNameThing()
    Dim IMAGE1Range As String
    Dim IMAGE1 As String

    IMAGE1Range = "=INDEX(LFSLookup!$AC$3:$AC$2000,MATCH(""NAME""&Sheet1!$C$25,LFSLookup!$Z$3:$Z$2000,0))"
    IMAGE1 = "IMAGE1111"

    ThisWorkbook.Names.Add Name:=IMAGE1, RefersTo:=IMAGE1Range
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...