Я пытаюсь написать VLOOKUP в ячейке в виде строки с VBA. Это означает, что я не хочу, чтобы результат отображался в ячейке в качестве значения, но я хочу вместо этого использовать все выражение VLOOKUP (для этого примера: "VLOOKUP(C6,'[path_to_file.xlsm]OTD Table!$B:$F,4,0)")
. Задача состоит в том, что аргумент диапазона VLOOKUP представляет собой конкатенацию пути (path_to_file.xlsm)
что пользователь выбирает с GetOpenFilename, и строкой, которая определяет вкладку, в которой таблица поиска находится ("OTD Table!$B:$F,4,0").
вопроса я получаю очень интересно:Напишите VLOOKUP как строку в ячейке с динамическим путем, полученным через GetoOpenfilename
Когда я печатаю мое выражение в MsgBox, выражение корректно отображается Однако, когда я пишу его в ячейке, путь таинственным образом отображается неправильно.
Sub macro()
dim data_file_new as String
data_file_new = CStr(Application.GetOpenFilename(FileFilter:="Excel Workbooks (*.xls*),*.xls*", Title:="Select new data file")) ' The user selects the file
str_ = "=VLOOKUP(C6," & "'[" & data_file_new & "]OTD Table!$B:$F,4,0)" ' This will display the expression correctly
cells(1,10)="=VLOOKUP(C6," & "'[" & data_file_new & "]OTD Table!$B:$F,4,0)"' This will not display the same thing as in the messagebox above
end Sub
Надеюсь, один из вас, ребята, сможет это понять!
Вы пытались поместить свою строку во временную переменную и поместить ее в ячейку? – R3uK
Можете ли вы вставить те различия, которые вы видите? – izzymo
Просто добавьте '(одинарная кавычка перед знаком равенства), как "' = VLOOKUP ( – Arya