Всем привет. Столкнулся вот с какой проблемой: При заполнении определенного столбца вывожу в другие макросом формулы поиска и подстановки данных. Делаю это так:
Код
rn.Offset(0, 1).Formula = "=IFERROR(INDEX(Таблица3[Тип авто],MATCH([@ФИО],Таблица3[Водитель],0)),""Нет в справочнике"")"
Но с ростом размера файла они обязательно начнут его тормозить. Возможно ли выводить я в ячейку не саму формулу, а только результат её вычисления?
И ещё вопрос: В столбце Н я ввожу формулу руками, потому что никак не могу ее прописать в VBA Формула
Код
=ЕСЛИОШИБКА(ЕСЛИ(И(ЕСЛИ(--ЛЕВСИМВ([@[Прибытие на погрузку план]];5)=0;--"00:01";--ЛЕВСИМВ([@[Прибытие на погрузку план]];5))<=[@[Прибытие на погрузку факт]];ЕСЛИ(--ПРАВСИМВ([@[Прибытие на погрузку план]];5)=0;--"23:59";--ПРАВСИМВ([@[Прибытие на погрузку план]];5))>=[@[Прибытие на погрузку факт]]);"Соблюден";"Нарушен");"Заполните все данные")
Пытаюсь внести ее в ячейку через VBA вот так:
Код
rn.Offset(0, 6).Formula = "=IFERROR(IF(AND(IF(--LEFT([@[Прибытие на погрузку план]],5)=0,--""00:01"",--LEFT([@[Прибытие на погрузку план]],5))<=[@[Прибытие на погрузку факт]],IF(--RIGHT([@[Прибытие на погрузку план]],5)=0,--""23:59"",--RIGHT([@[Прибытие на погрузку план]],5))>=[@[Прибытие на погрузку факт]]),""Соблюден"",""Нарушен""),""Заполните все данные"")"
Но она не работает, что-то я делаю не так.
Пример с кодом в прикрепленном файле. Заранее благодарен за помощь.
Dyroff, ваша таблица элементарно заполняется средствами PQ, и никаких формул в ячейках . Использование VBA да еще и таким извращенским странным способом - это принципиально?
Тогда, во-первых нужно менять название темы на осмысленное описание проблемы, а во-вторых, нужен описанный вами алгоритм формирования основы таблицы. Результат будет накопительный или нет, ну и все такое. Если на пальцах, то вам нужно сначала сформировать список строк, к которым вы будете левым слиянием (он же левый внешний джойн) подтягивать значения из разных справочников в нужном вам порядке, после каждого слияния пустые значения заменяете на "Нет в справочнике". А там где нужно сформировать расчетные столбцы исходя из комбинации подтянутых данных, создаете условный столбец и вперед. Попробуйте сами, где будет не получаться пишите - вам помогут. Сразу скажу там не сложно.
PooHkrd, , ок, спасибо. Попробую. Хотя для этого полностью придется изменить структуру файла. В этом файле логика такова, что ежедневно, внося в столбец B фамилии - тянутся данные из справочника, на основании подтянутых данных, данные из другого справочника. То есть это сбор некой базы, на основании которой потом будет формироваться сводная. А при варианте с PQ придется объединять запросы (это для меня уже не совсем элементарно), так как часть данных в одном справочнике, другая часть в другом.
Если продолжаем здесь, то предлагайте другое название темы, а то модеры сегодня то ли добрые то ли заняты чем-то, но обязательно придут и всех разгонят. Не хочу чтобы вся помощь пропала. Либо начинайте новую. Для начала разбейте свою проблему на простые задачи, Начинаем с формирования списка, если с этим все понятно, создавайте тему что не понятно со слиянием запросов.