Как расширить формулу в 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

Другие вопросы по тегам