Excel VBA: вставка формулы WHEN в конкретный диапазон ячеек с переменной заменой столбца
Привет, дорогие пользователи StackOverflow,
Моя проблема заключается в том, чтобы вставить Formular через Macro в определенный диапазон ячеек. Снова, снова и снова.
Таким образом, основная функция формулы должна быть следующей:
- VBA / Macro, чтобы удалить целую строку с помощью "только формулы"
- Как преобразовать формат текста в формат даты в excel
- Упорядочить столбцы с использованием макроса записи
=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
.