![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
![]()
Добрый день, уважаемые форумчане!
Имеется бланк на листе 2 (с кучей объединенных ячеек). Ногами не бейте и не говорите, что объединенные ячейки - это вселенское зло. Сам знаю. Но таковы реалии. Есть форма занесения информации на листе 1. По сути, это те же таблицы. По другому организовать не смог. Так вот, количество строк в таблицах может быть разное. То есть, диапазоны, отмеченные соответствующими цветами, динамические. Как можно организовать перенос диапазонов соответствующих цветов с первого на второй лист без потери формы самого бланка, а только с изменением количества строк вверх-вниз? Такая билиберда только на этом листе, с остальными все в порядке, так что хотелось бы увязать одно с другим и чтобы выходной файл был экселевским. А то я поначалу думал экспортировать в шаблон ворда. Спасибо заранее! |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
![]() Цитата:
Привести в порядок так называемую "форму занесения" будет быстрей чем понять систему её построения, что бы написать макрос. По большому счёту цикл по строкам с проверкой цвета и значений. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
![]()
Юзерформу как таковую для занесения не делал. Прямо с отдельного листа. В примере ее часть касаемая только этой части бланка (в бланке это пятый лист). Думаю, чтоб не мучаться, переделаю сам бланк, уберу объединение ячеек. Куда вставлять - понятно заранее. Вставку делать с добавлением ячеек вниз.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
![]()
Переделал шаблон на листе2, чтобы по максимуму сократить количество объединенных ячеек. Диапазоны - 3 штуки - на листе1 выделены каждый своим цветом. Диапазоны динамические. Так вот, после их заполнения вручную необходимо копировать каждый и вставлять на лист 2 со сдвигом вниз:
Sheets("Лист11").Select Range("A4:G4").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("Лист2").Select Range("A9:G9").Select Selection.Insert Shift:=xlDown Это для первого диапазона. Но если для первого диапазона понятно куда вставлять, то для второго и третьего после вставки первого уже будет непонятно. Вставлять проверку по первому столбцу, по подзаголовку столбца? Set sh = Sheets("Лист2") For k = sh.Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 If sh.Cells(k, 1) = "Обозначение части границы" Then sh.Cells(k + 2, 1) = тому, что скопировали с первого листа Помогите организовать это дело. Заранее спасибо. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
![]()
Вопрос снимается. Все оказалось проще простого. Если делать копи-паст начиная не с верхнего диапазона, а с нижнего, то и места вставки заранее известны и никакой проверки-определения городить не надо. Вот только с форматированием разберусь и все.
Это видать жара так действует. Мозг кипит, мысли не движутся. Всем спасибо! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перенос выбранных ячеек | W3r3Wolf | Microsoft Office Excel | 5 | 26.10.2011 13:44 |
перенос данных из ячеек при условии | stels77 | Microsoft Office Excel | 13 | 06.07.2011 16:49 |
Проверка на наличие общих ячеек диапазонов | Miguel Sanchez | Microsoft Office Excel | 6 | 19.04.2011 08:15 |
Перенос данных из ячеек | gavrylyuk | Microsoft Office Excel | 2 | 05.08.2008 14:24 |
Перенос данных из ячеек при условии | gavrylyuk | Microsoft Office Excel | 12 | 29.07.2008 12:33 |