![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 39
|
![]()
Здравствуйте Уважаемые!
Вот такой вопрос: Есть таблица (см. пример) в которой в одном столбце идут фамилии студентов, а во втором предметы, которые они изучают. Фамилии повторяются для каждого предмета, например, Иванов->Математика, Иванов->Физика. Нужно пройти по всему столбцу и сделать чтоб для одной фамилии все предметы выводились в ячейку, т.е. Иванов->Математика;Физика. Подскажите пожалуйста как написать макрос, реализующий выщепредставленную задачу.
Идите и делайте, Вы всегда успеете оправдаться!
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
Здравствуйте.
Посмотрите здесь
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну и я добавлю свой вариант...
не в целях посоперничать, просто коллекции для... ![]() |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]() Цитата:
Код:
Код:
(что поделать, это VBA, а не ...) ![]()
Нет нерешаемых задач - есть недостаток времени и данных!
|
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Вы правы! Это 100% так! Это я просто использовал в качестве основы свой древний макрос, где было написано неверно. (я тогда ещё не знал про этот "прикол" VBA... ![]() и, самое смешное, что сам обнаружил это, но уже после того как запаковал и выложил файл. Потом поленился переделывать... ![]() |
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 18.05.2010
Сообщений: 39
|
![]() Цитата:
![]() Спасибо большое Serge_Bliznykov, супер код, мне очень нравится!
Идите и делайте, Вы всегда успеете оправдаться!
|
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
+1. Код от Serge_Bliznykov действительно хорош. Но могу предложить еще один вариант, преимуществом которого считаю:
1. Используется всего 1 цикл. 2. Использование массивов позволяет существенно повысить скорость выполнения процедуры, что при больших объемах данных весьма ощутимо. 3. При использовании словаря, при больших объемах данных, возможна ошибка Excel "Out of memory". Для сравнения, попробуйте, например, выполнить предложенные процедуры 1000 раз в цикле.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Объясните мне бестолковому, почему все так любят выражение Rows.Count? Вообще-то там лежит число 65536! И когда мы берём диапазон Range([A1],Cells(Rows.Count,N), то работаем, соответственно, с 65536 строками!
И при этом мы хотим, чтобы работало быстро...
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Именно с выходом в свет Excel 2007 (с большим количеством строк, нежели 2003), во избежании недоразумений, правильно использовать именно Rows.Count.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 21.05.2010 в 10:50. |
|
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]() Цитата:
Так на какой объём будет ссылаться следующее выражение: Range([A1],Cells(Rows.Count,N).Value, если мы работаем в Excel 2007?
Нет нерешаемых задач - есть недостаток времени и данных!
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выделение на одну ячейку больше! | Окоча Юра | Microsoft Office Excel | 12 | 27.08.2011 16:31 |
размер страницы в одну ячейку | heyjoe | Microsoft Office Excel | 3 | 23.08.2009 19:11 |
Перегнать данные из столбца в одну ячейку | KROZORS | Microsoft Office Access | 2 | 17.06.2009 17:58 |
Вставка в одну ячейку | ivkoa | Microsoft Office Excel | 9 | 22.08.2008 14:16 |
SQL-запрос на выбор повторяющихся строк | stepchild | БД в Delphi | 2 | 07.06.2008 10:52 |