Здравствуйте. Подскажите - как перекинуть столбцы с данными из одной части листа - в другую часть листа ?
Есть лист с информацией. Он разделен на две части - зеленой полосой (закрашенные в зеленый цвет ячейки). По левую сторону этой полосы - отсортированная информация, по правую сторону - неотсортированная. В строке "8" - находятся критерии сортировки - это символы Г, C, Ц. Каждый из разделов с правой стороны - начинается от закрашенной черной ячейки.
Как макросом - проверить каждый столбец, стоящий по правую сторону зеленой линии и перекинуть его целиком - в нужный раздел левой стороны ? То есть разделы с левой стороны - будут со временем все больше расти, и зеленая линия - соответственно будет все больше сдвигаться вправо.
Здравствуйте. Подскажите - как перекинуть столбцы с данными из одной части листа - в другую часть листа ?
Есть лист с информацией. Он разделен на две части - зеленой полосой (закрашенные в зеленый цвет ячейки). По левую сторону этой полосы - отсортированная информация, по правую сторону - неотсортированная. В строке "8" - находятся критерии сортировки - это символы Г, C, Ц. Каждый из разделов с правой стороны - начинается от закрашенной черной ячейки.
Как макросом - проверить каждый столбец, стоящий по правую сторону зеленой линии и перекинуть его целиком - в нужный раздел левой стороны ? То есть разделы с левой стороны - будут со временем все больше расти, и зеленая линия - соответственно будет все больше сдвигаться вправо.ВасилисаЛукьянчикова
Макрос действует так. 1)Он проверяет содержимое строки "8" по левую сторону от зеленой линии (столбцы CM,CN). И видит в этом диапазоне - два вида значений : буквы "Г" и "С". Запоминает их.
2)Начинает проверку содержимого строки "8" по правую сторону от зеленой линии. Первая на его пути - ячейка DO8 со значением "Ц". Такой буквы в памяти макроса нет (только "Г" и "С") - поэтому он пропускает это значение и двигается дальше вправо по строке 8.
Следующая на его пути - ячейка DP8 со значением "С". А вот такая буква в памяти макроса - есть. Поэтому он хватает весь столбец DP, вырезает его и перемещает этот столбец в левую часть - туда где находятся столбцы со значениями "С" в строке 8 - на место пока еще пустого столбца BA (со сдвигом вправо).
Таким образом в левой части листа - область включающая в себя столбцы со значениями в строке 8 -"Г" и "С" - будут увеличиваться. Зеленая граница соответственно будет все больше сдвигаться вправо. А область по правую сторону зеленой границы - будет все больше редеть, поскольку оттуда будут исчезать столбцы со значениями "Г" и "С" (точнее не исчезать, а переносится в левую часть листа)
Макрос действует так. 1)Он проверяет содержимое строки "8" по левую сторону от зеленой линии (столбцы CM,CN). И видит в этом диапазоне - два вида значений : буквы "Г" и "С". Запоминает их.
2)Начинает проверку содержимого строки "8" по правую сторону от зеленой линии. Первая на его пути - ячейка DO8 со значением "Ц". Такой буквы в памяти макроса нет (только "Г" и "С") - поэтому он пропускает это значение и двигается дальше вправо по строке 8.
Следующая на его пути - ячейка DP8 со значением "С". А вот такая буква в памяти макроса - есть. Поэтому он хватает весь столбец DP, вырезает его и перемещает этот столбец в левую часть - туда где находятся столбцы со значениями "С" в строке 8 - на место пока еще пустого столбца BA (со сдвигом вправо).
Таким образом в левой части листа - область включающая в себя столбцы со значениями в строке 8 -"Г" и "С" - будут увеличиваться. Зеленая граница соответственно будет все больше сдвигаться вправо. А область по правую сторону зеленой границы - будет все больше редеть, поскольку оттуда будут исчезать столбцы со значениями "Г" и "С" (точнее не исчезать, а переносится в левую часть листа)