Excel VBA: вставка формулы WHEN в конкретный диапазон ячеек с переменной заменой столбца

Привет, дорогие пользователи StackOverflow,

Моя проблема заключается в том, чтобы вставить Formular через Macro в определенный диапазон ячеек. Снова, снова и снова.

Таким образом, основная функция формулы должна быть следующей:

=WHEN('ZEK '!F3="X";"6";WHEN('ZEK '!G3="X";"8";"1"))

В моем макросе он должен изменить столбец для следующего определенного диапазона. Это происходит в for Loop для растущего.

Значение -> =When('ZEK '!$F$"& i+2 &"....... или в любом другом Синтаксисе, который должен работать. Моя попытка справедливо не делает, поэтому мне нужна ваша помощь.

Это моя первая попытка, когда я обменивался буквально всем со строками:

 Sub 123() Dim a,b,c As String a = 1 b = 6 c = 8 .... 'used and declared variables k, x, f, a, b, c Range(Cells(k + 2, 5), Cells(k + 27, 5)).FormulaR1C1 = _ "=WHEN('ZEK'!$F$" & f & "=" & x & ";" & a & ";WHEN('ZEK'!$G$" & f & "=" & x & ";" & b & ";" & c & "))" End Sub 

С этим я получаю Runtime Error 1004. (изменил его на .Formula из .FormulaR1C1)

Надеюсь, я дал достаточно информации, чтобы вы могли мне помочь. Это действительно не обязательно для исполнения, мне просто нужно получить формулу в около 100 000 ячеек с i изменяющимися для каждого диапазона ячеек

    Я думаю, что это проблема языка … Попробуйте

     "=IF('ZEK'!$F$" & f & "=" & x & "," & a & ",IF('ZEK'!$G$" & f & "=" & x & "," & b & "," & c & "))" 

    Обратите внимание на использование IF и , в качестве разделителя вместо ; , Является ли WHEN даже действительным рабочим листом? Честно говоря, я не знаю, будут ли переведены функции рабочего листа или нет при настройке формулы через VBA. Однако разделители адаптированы.

    edit: существует также свойство .FormulaLocal которым нужно работать ; как разделитель! Так что измените .Formula на .FormulaLocal . Вероятно, это приведет к ошибке, если вы выполните ее на машине, которая использует в качестве разделителя по умолчанию, поэтому я попытаюсь придерживаться .Formula .

    Interesting Posts

    Создание тестовых данных в Excel для таблицы EAV

    XSSFSheet: индекс листа находится за пределами допустимого диапазона

    VBA суммирует ряд ячеек

    Как я могу идентифицировать дубликаты между двумя листами Excel.

    Создание документа Excel с помощью OpenXml sdk 2.0

    Файл Python не открывается правильно в Excel (значения не находятся в ячейках)

    Переместите курсор в определенную ячейку и нажмите CTRL + E программно

    Выявление и подсчет осколков, основанных на нескольких критериях

    пытаясь использовать excel, чтобы подсчитать, сколько раз врач вращается в месяц

    Возьмите подстроку из строки из конца строки в первую точку в Excel?

    Сравнение данных из двух таблиц Excel, где имена столбцов различны

    Функция Excel для изменения идентификационных номеров на основе списка старых / новых идентификаторов

    Надстройка Excel VSTO и электронная таблицаGear

    Получение таблицы с помощью Excel VBA behiind username и login

    Найти перекрестки значений в нескольких столбцах

    Давайте будем гением компьютера.