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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2010, 08:46   #11
Soul Leka
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 13
По умолчанию

Наверное, чудеса.
Я так понала, макрос настроен только на определенное количество столбцов?
Пробовала скрестить 2 файла. В файле1 добавлены в конце 3 новых столбца, в них есть данные.
В итоге файлы скрещиваются, но записи задваиваются - в одной заполнена колонка добавлен, в другой -удален. + 3 новых столбца просто отсекаются в конце.
Soul Leka вне форума Ответить с цитированием
Старый 09.07.2010, 10:02   #12
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Да оба файла должны быть идентичны.для драгих вариантов должен быть свой макрос
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.07.2010, 11:08   #13
Soul Leka
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 13
По умолчанию

а если оба файла идентичны, но в каждом добавлено одинаковое количество столбцов в конце - тоже не работает. Отсекает эти столбцы.
Soul Leka вне форума Ответить с цитированием
Старый 09.07.2010, 11:12   #14
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Давайте определимся.Файлы идентичны,сравниваем указанные колонки.Но количество колонок может быть разное.Другие варианты еще есть?
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.07.2010, 11:19   #15
Soul Leka
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 13
По умолчанию

Да. именно так.
Сравниваем колонки ФИО + дата рождения.
Если совпадают все 4 колонки, то в итоговый файл пишем строку из файла, загружаемого первым. Это важно, тому как в первый файл будут добавляться колонки и заноситься данные по людям и нужно, чтобы при сравнении двух файлов это данные остались. А во втором файле будет выгружаться меняющийся список людей.
Я проверила на тестовых файлах. Если в файле1 изменить, например, должность и сравнить по вашему макросу с файлом2 - в итоге пищшется строчка с изменной должностью - вроде пишется верно.
Soul Leka вне форума Ответить с цитированием
Старый 09.07.2010, 11:20   #16
Soul Leka
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 13
По умолчанию

количество колонок изменяемо. Но обязательно одинаковое по количеству в обоих файлах.
Soul Leka вне форума Ответить с цитированием
Старый 09.07.2010, 11:24   #17
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

хорошо подкорректирую код
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.07.2010, 11:28   #18
Soul Leka
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 13
По умолчанию

а вы макросы пишете так иль за деньги?
Soul Leka вне форума Ответить с цитированием
Старый 09.07.2010, 11:32   #19
CooperMan
 
Регистрация: 30.12.2009
Сообщений: 7
По умолчанию

Здравствуйте. Прошу прощения за то, что вмешиваюсь, просто задача показалась похожей.

Данные: Имеются два файла для сравнения
Требуется: при совпадении данных двух столбцов в первом файле, нужно заполнить третий столбец соответствующей строки второго файла, данными из первого.

Пример: при идентичности ячеек A1, B1, С1 "файл 1" и "файл 2", заполнить ячейку D1 "файл 2", данными ячейки D1 "файл 1", иначе проверять следующую строку "файл 1".

Заранее спасибо!
CooperMan вне форума Ответить с цитированием
Старый 09.07.2010, 11:45   #20
CooperMan
 
Регистрация: 30.12.2009
Сообщений: 7
По умолчанию

В одной книге сравниваю два листа вот так:

Код:
Sub Sravnil_esli_da_to_vstavil_esli_net_ishem_dalshe()
Windows("Книга1.xlsm").Activate
 
Dim i As Long, j As Long, EndRow1 As Long, EndRow2 As Long
 
EndRow1 = Sheets("Лист2").Range("A1").End(xlDown).Row
EndRow2 = Sheets("Лист1").Range("A1").End(xlDown).Row
 
For i = 1 To EndRow1
    For j = 1 To EndRow2
  
        If Sheets("Лист1").Cells(i, 1).Value = Sheets("Лист2").Cells(j, 1).Value Then
           Sheets("Лист2").Cells(i, 3).Value = Sheets("Лист1").Cells(j, 3).Value
           
        Else: End If
            
    Next j
Next i
 
End Sub
Как сделать, чтоб проверялись на идентичность данные еще и второго столбца?
CooperMan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение данных из двух и более книг Excel 2003 Елена20.12.1987 Microsoft Office Excel 0 20.04.2010 18:56
сравнение двух строк aza_kaz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 01.01.2010 23:40
Сравнение строк, добавление если false Des Общие вопросы Delphi 6 20.08.2009 12:32
сравнение данных в двух столбцах в Excel 2003 grinders Microsoft Office Excel 4 25.11.2008 16:58
Сравнение данных из двух книг Excel 2003 ast1r Microsoft Office Excel 2 24.11.2008 21:39