Страницы: 1
RSS
Ошибка vba 400, происходит ошибка при выполнении макроса
 
добрый день
возникла проблема при выполнении макроса, который вставляет в ячейки формулы, которые 1-просто копирует значение, 2-берет 4 символа слева и перемещается по вертикали и 3-аналогично только символы справа
Код
Sub www()
  Application.EnableEvents = False
  Sheets("Лист1").[A3].Formula = "=Лист0!$C$8"
  Sheets("Лист1").[C3].Formula = "=ЛЕВСИМВ(ИНДЕКС(Лист0!$D$8:$AE$21;СТОЛБЕЦ(A:A);СТРОКА(1:1));4)"
  Sheets("Лист1").[D3].Formula = "=ПРАВСИМВ(ИНДЕКС(Лист0!$D$8:$AE$21;СТОЛБЕЦ(A:A);СТРОКА(1:1));5)"
  Application.EnableEvents = True
End Sub

система Win 10, excel 2016
помогите разобраться с проблемой
ОШИБКА


САМ ФАЙЛ
 
Добрый.
Лист0 - правда такой лист есть в книге?

Правда есть. :)

P.S.
Там вместо Formula нужно FormulaLocal использовать, т.к. пишете формулы для русской версии. Или формулы переписывать исходя из их аглицкого варианта.
Изменено: Пытливый - 21.03.2019 09:47:40
Кому решение нужно - тот пример и рисует.
 
DEHNC1, для начала разместите процедуру в обычном модуле, а не в модуле листа. Ошибка примет вид 1004. Замените .Formula на .FormulaLocal.
Изменено: Казанский - 21.03.2019 09:48:28
 
Цитата
Казанский написал:
.FormulaLocal
блин, действительно., так работает
Код
Sub www()
  Application.EnableEvents = False
  Sheets("Лист1").[A3].FormulaLocal = "=Лист0!$C$8"
  Sheets("Лист1").[C3].FormulaLocal = "=ЛЕВСИМВ(ИНДЕКС(Лист0!$D$8:$AE$21;СТОЛБЕЦ(A:A);СТРОКА(1:1));4)"
  Sheets("Лист1").[D3].FormulaLocal = "=ПРАВСИМВ(ИНДЕКС(Лист0!$D$8:$AE$21;СТОЛБЕЦ(A:A);СТРОКА(1:1));5)"
  Application.EnableEvents = True
End Sub
Изменено: DEHNC1 - 21.03.2019 09:51:40
Страницы: 1
Наверх