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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 08:51   #1
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
Восклицание Добавить пустые строки в список

Добрый день!
Подскажите, пожалуйста, в решении такой задачки:
У меня есть два списка с данными (к примеру с ФИО людей),
В одном списке (закладка лист 1) представлены все имеющиеся ФИО, во втором списке (закладка Лист 3) представлены те же ФИО людей, но не все. Необходимо для сравнения этих списков преобразовать список два (закладка Лист 3), для этого вставить недостающие строки в виде пустых строк. Затем сравнить полученный список со списком 1.

Если список маленький, то вставить пустые строки вручную легко, если большой до 60 тыс. записей, то уже проблема. Подскажите, как автоматизировать процесс?
Вложения
Тип файла: rar Книга2.rar (8.8 Кб, 15 просмотров)
KNatalia вне форума Ответить с цитированием
Старый 29.09.2009, 10:37   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Запустите макрос "Main".
Вложения
Тип файла: rar Книга2_2.rar (14.0 Кб, 20 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 29.09.2009, 14:23   #3
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

Спасибо большое!

А не могли бы вы рассказать алгоритм работы программы. Чуточку не понятно. Извините, что спрашиваю, просто я новичок в программировании, учусь и пытаюсь разобраться в том, что мне не очень понятно.

ReDim c(1 To UBound(a, 1), 1 To 4): Sheets("что должно быть").Activate
For i = 1 To UBound(a, 1)
For j = 1 To UBound(b, 1)
c(i, 1) = i
If a(i, 2) = b(j, 1) Then
If a(i, 3) = b(j, 2) Then
If a(i, 4) = b(j, 3) Then
c(i, 2) = a(i, 2): c(i, 3) = a(i, 3): c(i, 4) = a(i, 4): Exit For
End If: End If: End If: Next: Next
Range([A4], Cells(Rows.Count, 8)).Clear
Range([E4], Cells(UBound(a, 1) + 3, 8)).Value = a
Range([A4], Cells(UBound(c, 1) + 3, 4)).Value = c

Заранее благодарна
KNatalia вне форума Ответить с цитированием
Старый 29.09.2009, 21:07   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте KNatalia.
Ваша задача может быть решена и с применением библиотеки ADO.
Евгений.
Вложения
Тип файла: rar Книга2_ADO.rar (18.3 Кб, 23 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Старый 30.09.2009, 05:42   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В коде макроса (см. вложение) подробные комментарии.
Вложения
Тип файла: rar Книга2_2_comments.rar (15.5 Кб, 32 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 30.09.2009, 08:35   #6
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

Большое Вам всем спасибо за помощь и подробные комментарии!
Очень благодарна!

С наилучшими пожеланиями, Наталья
KNatalia вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код выводит пустые строки fs444 Общие вопросы C/C++ 7 20.08.2009 16:01
Помогите автоматически вставить пустые! строки KNatalia Microsoft Office Excel 6 17.08.2009 15:41
Пустые строки в текстовом файле Dekker Помощь студентам 1 08.05.2009 16:31
Почему то пустые строки zotox Помощь студентам 3 24.03.2009 15:26
Пустые строки в выпадающим списке в ячейке Shavminator Microsoft Office Excel 4 12.08.2008 18:36