Так что у меня не так уж много опыта программирования и почти нет опыта работы с VBA. Моя основная проблема заключается в том, что формула в моем коде выходит за пределы 1 строки, и когда я включаю подчеркивание, пробел, а затем начинаю новую строку, я получаю сообщение об ошибке.
Я прикрепил изображение кода, возможно, там есть ненужные строки кода, потому что я записал макрос, чтобы получить код.
Дополнительная информация о том, что я пытаюсь сделать:
У меня есть список, содержащийся в ячейке с использованием «проверки данных», и на основе выбора из этого списка ячейка ниже выводит определенный список.
Информация для этих списков хранится на других листах книги.
Мне удалось разработать оператор IF в поле источника списка «проверка данных», который работал для нескольких входных данных. Однако у меня есть 84 возможности, и я не мог уместить все отдельные операторы if в поле источника списка. Поэтому я решил попробовать вручную ввести формулу с помощью VBA, записав макрос из нескольких входных операторов «проверки данных».
Вот код:
Sub HelpSetUp()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=if($B$2='fuel columns'!$A$1,agriculturalbiproduct,if($B$2='fuel columns'!$B$1,agriculturalresidue,if($B$2='fuel columns'!$C$1,agriculturalwaste,Nofuel)))"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub