|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Сравнивание названий в ячейках Exel и перенос несовпавших вниз |
|
VBS/WSH/JS - Сравнивание названий в ячейках Exel и перенос несовпавших вниз
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать
Приветствую всех знающих! Нужна Ваша помощь, нужен скрипт, который сделает следущие вещи, следствие этого – намного упростятся дальнейшие задачи. Премного благодарен заранее! Итак, по порядку:
Есть файл example.xls в котором пять вкладок: Исходный файл_1, Выходной файл_1, Исходный файл_2, Выходной файл_2,Итоговый файл. Исходный файл_1 – есть две колонки (обозначенные разным цветом для понятия задачи), столбцы B и F содержат названия. Нужно каждое название из столбца F сравнить с названиями из столбца B, и если названия совпадает, то из ячейки этой же строчки, но соседнего столбца E копируем значение в столбец A возле совпадающего названия и оставляем запись на месте, если названия не совпадает, тогда вся строка, начиная со столбца E копируется вниз поочередно, ниже уровня условно разделенных двух колонок(той, в которой больше позицый), под первой колонкой. Выходной файл_1 – то что должны получить после работы скрипта. Сиреневатые ячейки столбца А – скопированные из соседних ячеек совпавших названий(столбца Е). Голубой столбец остался неизменен. Сиреневые строки – это те, что совпали, и зеленоватые – те что не совпали, их вырезали и вставили внизи поочередно. Исходный файл_2, Выходной файл_2 – смысл тот же, только иные столбцы, а также при переносе несовпадающих сторочек значения из столбца N переносятся в столбец А. Исходник в Итоговом файле(с ним ничего не нужно делать, он как пример, того что должно получиться). По сути дела нужны два сходных скрипта с различными параметрами, или один универсальный. Всех, кому не составит большого труда помочь в этом вопросе, помогите, плиз! |
|
Отправлено: 17:43, 06-09-2010 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Нашел похожее решение, но здесь выбирается то, что есть в столбце, а нужно то чего нету. Может кто знает, подскажите, плиз, что поменять в коде
Sub test() On Error Resume Next: Application.ScreenUpdating = False Dim sh2 As Worksheet: Set sh2 = Worksheets(2) sh2.UsedRange.Clear ' очистка листа от прежних данных Dim cell As Range, ra As Range, ForCopy As Range ' перебираем все заполненные ячейки в столбце Е Set ra = Range([e1], Range("e" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeConstants) For Each cell In ra.Cells If Not Range("a:a").Find(cell) Is Nothing Then ' если аналогичный номер есть в столбце А If ForCopy Is Nothing Then Set ForCopy = cell Else Set ForCopy = Union(ForCopy, cell) If ForCopy.Cells.Count > 1000 Then ForCopy.EntireRow.Copy sh2.Range("a" & sh2.Rows.Count).End(xlUp).Offset(1) Set ForCopy = Nothing End If End If Next cell ForCopy.EntireRow.Copy sh2.Range("a" & sh2.Rows.Count).End(xlUp).Offset(1) sh2.UsedRange.EntireColumn.AutoFit: sh2.Rows(1).Delete sh2.Activate |
Отправлено: 18:52, 06-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] /SQL/ Поиск значения в ячейках всех таблиц базы данных Oracle | EvgeniyQQQ | Программирование и базы данных | 4 | 09-08-2010 19:46 | |
Загрузка - Планировщики меняющие значения в ячейках КМОП ОЗУ. | elibom | Microsoft Windows 2000/XP | 3 | 24-05-2009 20:28 | |
VB для Exel | Patrick | Программирование и базы данных | 4 | 28-04-2004 00:03 | |
Exel | tara | Программирование и базы данных | 2 | 12-03-2004 12:14 | |
Exel в браузере | Guest | Вебмастеру | 2 | 07-07-2003 07:30 |
|