Как расширить формулу в VBA после 1 строки кода
Так что у меня нет большого опыта в программировании и почти нет опыта работы с VBA. Моя основная проблема заключается в том, что формула в моем коде расширяется за 1 строку, и когда я добавляю подчеркивание, пробел и начинаю новую строку, я получаю сообщение об ошибке.
Я прикрепил изображение кода, возможно, есть ненужные строки кода, потому что я записал макрос, чтобы получить код.
Больше информации о том, что я пытаюсь сделать:
У меня есть список, содержащийся в ячейке с использованием "проверки данных", и в зависимости от выбора из этого списка ячейка ниже выведет определенный список.
Информация для этих списков хранится на других рабочих листах в рабочей книге.
Мне удалось разработать оператор IF в окне источника списка "Проверка данных", который работал для нескольких входов. Тем не менее, у меня есть 84 возможности, и я не мог вместить все отдельные операторы if в поле списка источника. Поэтому я решил попробовать вручную ввести формулу, используя VBA, записав макрос из нескольких входных "проверок данных" в операторе if.
Вот код:
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
1 ответ
Если у вас есть длинный текст для сжатия, вам нужно разбить его на куски, используя "&" и _.
Как это
dim aString as string
aString = "four score and seven years ago our fathers " & _
"set forth on this continent a new nation, " & _
"conceived in liberty and dedicated to the " & _
"proposition that all men are created equal."
Обязательно оставьте пробел между & и _.
SMW