У меня есть книга, в которой у меня есть следующая формула в ячейке D3.Vba Vlookup с переменным именем листа
"= ВПР ($ С3 '[НОЧЬ ROTA.xlsx] ' $ $ 5: $ I $ 32, D $ 1,0)"
Источник Учебное пособие имеет 52 листов, и когда я хотите выполнить поиск на определенном листе, мне нужно вручную изменить имя листа, а затем запустить код ниже, чтобы скопировать его по ячейкам в моей книге с помощью изменения рабочего листа.
Есть ли способ, чтобы имя листа как переменная, которое я имел бы в ячейке в моей книге, или это было бы выбрано из раскрывающегося списка? Я знаю, что могу использовать INDIRECT, но не хочу открывать исходную книгу.
Sub WeekChange()
Range("D3").Select
Selection.Copy
Range("D3:I26").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
End Sub
Я пробовал это и получаю ошибку времени выполнения 5 – Sherbetdab
@Sherbetdab извините была опечатка. Попробуйте отредактированный код, пожалуйста. –
Это работает. Моя формула находится в другом учебнике, поэтому причина, по которой вы не хотите открывать другую книгу, если я использовал Indirect vlookup, ваш метод намного быстрее. Спасибо. – Sherbetdab