Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 10:06   #1
Sirius2w
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 22
По умолчанию Нестандартный перенос по словам в нижние ячейки с условиями

Добрый день! Помогите написать макрос...
Вчера Уважаемый SAS888 помог мне понять как можно отсортировать данные в таблице с использованием макроса, сейчас столкнулся с новой проблемой, и уже на основе макроса SAS888 записал свой.
В прикрепленном файле пример в каком виде поступают данные (вкладка "Исходный" ) и конечный результат, который должен получить (вкладка "Конечный") я записал макрос, который сортирует данные по порядку, меняет шрифт, устанавливает ширину столбцов, ну и еще выполняет пару -тройку вспомогательных операций.
Теперь суть вопроса:
После применения макроса получается результат (вкладка "промежуточный") в котором в столбце "В" содержимое не умещается в некоторых ячейках, важно что бы ширина столбца "В" оставалась такой какой она стала после применения макроса, а все что не умещается в переполненную ячейку переносилось по словам в ячейку ниже от переполненной в том же столбце. соответственно для этого сначала нужно добавить пустую строку и в нее и записать то что не вместилось. Если же второй строки тоже окажется мало - добавить третью и перенести все что не вместилось во вторую и так далее.
После выполнения всех операций строку содержащую текст "НОМЕР/ НАИМЕНОВАНИЕ/МАРКА/ АРТИКУЛ/ИЗГОТОВИТЕЛЬ/ЕДИЗМ/Количество/ МАССА" можно либо совсем удалить, либо переместить в самый верх таблицы. А перед каждой группой данных начинающихся с новой буквы добавить пустую строку.
Все что должно получиться на вкладке "Конечный".
обратите внимание на поз. А, Л-2, О-23, С-14.

P/S/ Прошу прощения в коде макроса нужно заменить Range("A1:H62").Select на Range("A1:L10000").Select
Вложения
Тип файла: rar КЕПША от меня пересадка декабрь.rar (17.0 Кб, 22 просмотров)

Последний раз редактировалось Sirius2w; 11.12.2009 в 11:40. Причина: уточнение
Sirius2w вне форума Ответить с цитированием
Старый 11.12.2009, 11:10   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пример во вложении.
Вложения
Тип файла: rar КЕПША_2.rar (10.9 Кб, 26 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.12.2009, 11:21   #3
Sirius2w
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Пример во вложении.
К сожалению основная проблема не решена.... перенос по строкам нужен не в одной ячейке а именно в другую - новую, созданную ниже исходной строки и так далее... текст может быть длинным заранее его длины я не знаю и сколько соответственно строк придется добавить ниже - неизвестно.
Sirius2w вне форума Ответить с цитированием
Старый 11.12.2009, 12:04   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Зачем? По-моему, лучше, когда каждой записи соответствует одна строка. Ширина столбца, заданная Вами не изменяется. Данные переносятся по словам. Зачем "плодить" строки? А если Вы завтра захотите что-нибудь добавить к этому макросу, то в предложенном мной варианте все будет просто. А при добавленных строках нужно будет снова разбирать всю эту путаницу.

P.S. Совет на будущее: Чтобы не усложнять себе жизнь, также, без особой необходимости не используйте объединение ячеек.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 11.12.2009 в 12:06. Причина: Добавлено
SAS888 вне форума Ответить с цитированием
Старый 11.12.2009, 12:23   #5
Sirius2w
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 22
По умолчанию

Дело в том, что эти все данные выгружаются из файла автокада, обрабатяваются в экселе (что сейчас пытаемся сделать) и обратно возврящаются в автокад в сводную таблицу определенного формата. Многострочные ячейки сбивают форматирование сводной автокадовской таблицы, поэтому задача именно такая, что бы в ячейке была только одна строка, все что не помещается - продолжается в ячейке новоой строки ниже исходной.
В 2010 автокаде есть возможность сразу создать таблицу без использования экселя, но там тупая сортировка и редактировать длинную таблицу чревато... из-за большого размера файла комп начинает тупить (у меня оперативки 3,12гб и то не справляется ). Поэтому использование экселя значительно облегчает жизнь.
А готовую автокадовскую таблицу просто печатаю и все.
Всеравно спасибо Вам за помощь, но если это невозможно сделать буду мучаться дальше.
П.С. Вы не ответили на счет магарыча ;-) Кстати я внимательно изучил Ваш макрос. Действительно все просто. понятно и функционально. (по сравнению с моим) вы в ручную его написали?
Sirius2w вне форума Ответить с цитированием
Старый 11.12.2009, 12:28   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Сегодня уже помочь не смогу. Убегаю. На форуме буду только в понедельник. Задача не сложная. Если Вам никто не поможет и если для Вас еще не будет поздно, то подождите.
P.S. магарычем "чокнемся" виртуально.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.12.2009, 13:39   #7
Sirius2w
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Сегодня уже помочь не смогу. Убегаю. На форуме буду только в понедельник. Задача не сложная. Если Вам никто не поможет и если для Вас еще не будет поздно, то подождите.
P.S. магарычем "чокнемся" виртуально.
Нет не поздно - подожду ;-) это все делаеся не только для текущего применения но и с перспективой на будующее ;-)
Наш отдел, и я - благодарм Вас за оказанную помощь :-)
391-729-342 - моя Аська
Sirius2w вне форума Ответить с цитированием
Старый 14.12.2009, 12:56   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите один из возможных вариантов. Устроит?
Вложения
Тип файла: rar КЕПША_3.rar (11.5 Кб, 47 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 14.12.2009, 13:23   #9
Sirius2w
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 22
По умолчанию

Я еще не все опробовал - но вроде бы все работает отлично ;-)
ОГРОМНОЕ СПАСИБО!!!!
К вам еще можно будет если что обращаться?
Sirius2w вне форума Ответить с цитированием
Старый 14.12.2009, 13:39   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

На форуме есть много компетентных программистов. Обращайтесь. Всегда поможем. для частных обращений есть ЛС (ICQ и e-mail см. в профиле).
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос по словам в ListBox nikolai_P Microsoft Office Excel 2 25.01.2013 12:08
Перенос данных в нужные ячейки через VBA Detockin Microsoft Office Excel 0 12.03.2009 12:04
Перенос данніх в зависимости от цвета ячейки gavrylyuk Microsoft Office Excel 8 08.08.2008 19:11