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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 05:36   #31
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В следующий раз постарайтесь сразу точнее ставить задачу.
Если я правильно понял, то Вам нужно примерно это:
Код:
Sub Main()

    Dim i As Long, x As New Collection, y As Range, z As Range, Item
    Application.ScreenUpdating = False
    Workbooks("Книга1.xls").Sheets(1).Activate
    With Workbooks("Книга2.xls").Sheets(1)
        Columns("A").Interior.ColorIndex = xlNone: .Columns("A").Interior.ColorIndex = xlNone
        On Error Resume Next
        For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            x.Add Cells(i, "A"), CStr(Cells(i, "A"))
        Next
        On Error GoTo 0
        For Each Item In x
            a = Application.CountIf(Columns("A"), Item): b = Application.CountIf(.Columns("A"), Item)
            If b > 0 Then
                Set y = Columns("A").Find(what:=Item, LookAt:=xlWhole): y.Interior.ColorIndex = 6
                Set z = .Columns("A").Find(what:=Item, LookAt:=xlWhole): z.Interior.ColorIndex = 6: i = 1
                Do While i <> IIf(a > b, b, a)
                    Set y = Columns("A").FindNext(y): y.Interior.ColorIndex = 6
                    Set z = .Columns("A").FindNext(z): z.Interior.ColorIndex = 6: i = i + 1
                Loop
            End If
        Next
    End With
    
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 31.03.2009, 07:30   #32
Stiket
 
Регистрация: 27.03.2009
Сообщений: 3
По умолчанию

Спасибо! Все работает так, как и надо, то есть подсвечиваются строки в обеих книгах Что касается повторения в одной и той же книге-у меня этого нет, так что такой проблемы, как у Sebastian'a у меня тоже нет
Stiket вне форума Ответить с цитированием
Старый 31.03.2009, 09:21   #33
Stiket
 
Регистрация: 27.03.2009
Сообщений: 3
По умолчанию

Может оффтоп, но все же... Теперь мне нужно, чтобы строки, в которых первая яйчейка подсвечена, удалялась. Подскажите, пожалуйста...
Stiket вне форума Ответить с цитированием
Старый 31.03.2009, 11:13   #34
Sebastian
 
Регистрация: 17.02.2008
Сообщений: 9
По умолчанию Сравнение двух столбцов в разных книгах

Спасибо большое.
Работает как надо.
Sebastian вне форума Ответить с цитированием
Старый 31.03.2009, 11:18   #35
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Теперь мне нужно, чтобы строки, в которых первая яйчейка подсвечена, удалялась.
Удалять можно сразу, без подсвечивания. Для этого, по всему коду замените фрагменты
Код:
.Interior.ColorIndex = 6
на фрагмент
Код:
.EntireRow.Delete
И тогда строка
Код:
Columns("A").Interior.ColorIndex = xlNone: .Columns("A").Interior.ColorIndex = xlNone
будет также не нужна.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 16.09.2009, 12:05   #36
dekabrist
 
Регистрация: 08.09.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Вы упорно не говорите, что у Вас не получается. EducatedFool обратил Ваше внимание на одну из возможных причин. Обратили? Это первое. Второе: Обратите внимание, что предложенный ранее макрос сравнивает только значения столбцов "A", расположенных на одних и тех же строках. Если же нужно в принципе найти совпадающие значения, подсветить их и отсортитовать, то макрос должен быть другой.
Посмотрите вложение. Откройте оба файла и запустите макрос "Main".
Уважаемый SAS888, пробывал переделать Ваш макрос "Main" под свою задачу, но не получается пока. Помогите решить , пожалуйста.

Есть две книги – «ведомость» и «справочник». В обоих книгах присутствуют сл. столбцы: B - наименование, C – Марка, D- ТУ, E-Код, F- Ед. изм., G- Код ед. изм. Проверяем на совпадение по столбцам: если в «ведомости» содержимое ячейки, например столбца B, не находится в столбце B «справочника», то она подсвечивается красным цветом и в этой же строке , но в столбце L проставляется любой знак (чтобы можно было потом отфильтровать ). Как вариант, фильтрация несовпадающих ячеек происходит автоматом.
dekabrist вне форума Ответить с цитированием
Старый 16.09.2009, 12:47   #37
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Прикрепите файл с примером (хотя бы в несколько строк). Лучше, если на одном листе будут исходные данные, а на другом - то, что должно получиться.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 16.09.2009, 13:43   #38
dekabrist
 
Регистрация: 08.09.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Прикрепите файл с примером (хотя бы в несколько строк). Лучше, если на одном листе будут исходные данные, а на другом - то, что должно получиться.
Прикрепил. В файле ведомость.xls на 2-м листе то, что хочется получить на выходе
Вложения
Тип файла: rar файлы.rar (439.1 Кб, 48 просмотров)
dekabrist вне форума Ответить с цитированием
Старый 17.09.2009, 06:35   #39
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Откройте оба файла и запустите макрос "Main".
Вложения
Тип файла: rar файлы_2.rar (439.2 Кб, 158 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.09.2009, 07:57   #40
dekabrist
 
Регистрация: 08.09.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Посмотрите вложение. Откройте оба файла и запустите макрос "Main".
Вот это да! Строчек в коде стало меньше, а задача была, мне думается, сложнее! Мне стало еще труднее для понимания, но ведь работает!Здорово! Я восхищен! Большое спасибо!!!
dekabrist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прибавление данніх из двух столбцов gavrylyuk Microsoft Office Excel 3 01.08.2008 11:40
Нахождение совпадений в двух книгах Professor Hubert Microsoft Office Excel 5 25.07.2008 12:59
Отображение в форме и таблице двух столбцов подстановок smoky Microsoft Office Access 5 01.07.2008 09:27
Сравнение двух списков lelik759 Microsoft Office Excel 7 13.04.2008 22:19
Как извлечь из двух столбцов несовпадающие строки Shavminator Microsoft Office Excel 4 28.12.2007 12:23