VBA .FormulaArray, похоже, имеет проблему с моим диапазоном. Я читал, что он не может обрабатывать более 255 символов, но у меня всего около 108, но я могу понять это неправильно.
Это дает
Ошибка 1004:
Невозможно установить свойство FormulaArray класса Range.
Я пытался оставить формулу в столбце таблицы и позволить ей автоматически заполняться, когда таблица заполнена макросом, но проблема в том, что таблица массива индекса еще не существует до запуска макроса.
Также попытался оставить его как текст, а затем изменить столбец на «общий», но это не работает. И я знаю, что это создаст проблему, изменив ее таким образом на формулу массива.
Это код, который я использую:
With wsOutdated.ListObjects("Table_Outdated_Stock_Counts")
.ListColumns("Ranging").DataBodyRange.NumberFormat = "General"
.ListColumns("Ranging").DataBodyRange.FormulaArray = "=INDEX(Table_DispoData[[Class]],MATCH([@Article]&[@Site],Table_DispoData[Article]&Table_DispoData[Site],0),1)"
End With
Мне нужно, чтобы столбец таблицы заполнялся автоматически формулой массива.
Он работает для других столбцов (хотя они не являются формулами массива и должны соответствовать только одному значению).