Доброго времени!
Задача следует из названия темы, необходимо заменить множество однотипных макросов (~10 штук) одним.
Макросы отличаются тем, что каждый прописан под свою конкретную строку, т.е. "Макрос1" для строки 21, "Макрос2" для строки 22 и т.д.
В зависимости от макроса (т.е. строки) выбираются разные столбцы с данными в файле "К2" и начальная ячейка для записи результата. К примеру, строке 21 соответствует столбец C и первой ячейкой с результатом будет E21, строке 22 - столбец D и первая ячейка с результатом E22 и т.п.
Отличия в коде:
Что конкретно хочется получить:
Один макрос, который будет проверять данные из столбца "Условие 3" и исходя из них выполнять определенные действия. Т.е. в ячейке D21 у нас цифра 1, значит берем столбец с данными C и пишем результат начиная с ячейки E21, в ячейке D22 цифра 2, значит берем столбец D и результат с ячейки D22
Значения типа "1= столбец D", "2 = С", "3 = ...." будут прописываться в коде заранее руками, нужно понимать как это сделать.
Необходимо из файла "К2" в файл "К1" вывести диапазоном все значения ячеек, попадающих под определенные условия обозначенные в файле "К1".
Три условия - цифры, четвертое условие дата. "Условие 3" меняется в зависимости от строки (удаленности от Условия 1) и, соответственно, меняет условие поиска (столбец) в файле "К2".
Основной файл с макросами "К1" и файл с данными "К2" прикрепил. Если нужно описание работы самого макроса или какая-то другая важная информация - прошу написать.
Задача следует из названия темы, необходимо заменить множество однотипных макросов (~10 штук) одним.
Макросы отличаются тем, что каждый прописан под свою конкретную строку, т.е. "Макрос1" для строки 21, "Макрос2" для строки 22 и т.д.
В зависимости от макроса (т.е. строки) выбираются разные столбцы с данными в файле "К2" и начальная ячейка для записи результата. К примеру, строке 21 соответствует столбец C и первой ячейкой с результатом будет E21, строке 22 - столбец D и первая ячейка с результатом E22 и т.п.
Отличия в коде:
Код |
---|
Макрос1 Set mm = m.Offset(0, 2) If arr2(1, i) = arr(n, 3) And arr(n, 15) = m And arr3(n, 2) = mm Then Макрос2 Set mm = m.Offset(1, 2) If arr2(1, i) = arr(n, 4) And arr(n, 15) = m And arr3(n, 2) = mm Then |
Что конкретно хочется получить:
Один макрос, который будет проверять данные из столбца "Условие 3" и исходя из них выполнять определенные действия. Т.е. в ячейке D21 у нас цифра 1, значит берем столбец с данными C и пишем результат начиная с ячейки E21, в ячейке D22 цифра 2, значит берем столбец D и результат с ячейки D22
Значения типа "1= столбец D", "2 = С", "3 = ...." будут прописываться в коде заранее руками, нужно понимать как это сделать.
Необходимо из файла "К2" в файл "К1" вывести диапазоном все значения ячеек, попадающих под определенные условия обозначенные в файле "К1".
Три условия - цифры, четвертое условие дата. "Условие 3" меняется в зависимости от строки (удаленности от Условия 1) и, соответственно, меняет условие поиска (столбец) в файле "К2".
Основной файл с макросами "К1" и файл с данными "К2" прикрепил. Если нужно описание работы самого макроса или какая-то другая важная информация - прошу написать.