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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2010, 20:45   #1
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию Макрос для поиска совпадений

Люди добрые, помогите пожалуйста, не понимаю как написать макрос чтобы проверять совпадения из столбцов и выводить их на другую страницу((, помогите пожалуйста?

Предположим что на первом листе у нас 5 столбцов в левой стороне листа и 5 в правой, в правой стороне 5 столбцов куда постоянно заносятся данные типо ФИО номер адрес и т.д., и они постоянно там хранятся, а в левой стороне тоже ФИО и т.д. но они обновляются каждый день, так вот нужно чтобы макрос из правых 5 ячеек проверял совпадения в левых, все совпадения записывались в 5 ячеек на другом листе и все новые найденные там же, слева и справа?
Помогите пожалуйста, если такое вообще возможно осуществить?
Dealaxer вне форума Ответить с цитированием
Старый 06.04.2010, 20:58   #2
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

Код:
Sub test()
    Dim cell As Range, ra As Range
    Set ra = [a1:e1] ' строка заголовка
    For Each cell In Range([e1], Range("e" & Rows.Count).End(xlUp)).Cells
        If Len(cell) Then    ' ищем непустые ячейки в столбце Е
            If Not Range("g:g").Find(cell) Is Nothing Then
                ' если такое значение есть в столбце G
                Set ra = Union(ra, Range(cell, cell.EntireRow.Cells(1)))
            End If
        End If
    Next cell
    Dim sh As Worksheet: Set sh = Worksheets("Результат")
    sh.UsedRange.Clear    ' очистка листа от прежних данных
    ra.Copy sh.[a1]    ' копирование найденных строк
End Sub
С этим пробовал возиться, но что то не пойму ничего
Dealaxer вне форума Ответить с цитированием
Старый 06.04.2010, 23:47   #3
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

Вот этот код конечно хорош, мне бы подошел, только он сразу добавляет новые данные к листу 1, а нужно чтобы на 3 лист выводились повторяемые значения из листа 2 когда проверяются с листом 1:

Код:
Sub Main()
    Dim x As New Collection, i As Long
    Application.ScreenUpdating = False: On Error Resume Next
    Sheets(1).Select: With Sheets(2)
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        x.Add Cells(i, "A"), CStr(Cells(i, "A"))
    Next
    For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
        On Error Resume Next
        x.Add .Cells(i, "A"), CStr(.Cells(i, "A"))
        If Err = 0 Then .Rows(i).Copy Rows(Cells(Rows.Count, "A").End(xlUp).Row + 1)
    Next
    End With
End Sub
Dealaxer вне форума Ответить с цитированием
Старый 07.04.2010, 05:39   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Задача не сложная. Прикрепите файл с примером из нескольких строк. На 3-м листе приведите пример требуемого результата. И еще:
Цитата:
нужно чтобы макрос из правых 5 ячеек проверял совпадения в левых, все совпадения записывались в 5 ячеек на другом листе и все новые найденные там же, слева и справа?
Из такой формулировки следует, что ничего сравнивать не нужно, т.к. переносить требуется как совпавшие, так и не совпавшие строки таблиц. Объясните подробнее.
Только после этого Вы получите быстрый и точный ответ. Не помешает и прочитать правила раздела.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 07.04.2010 в 05:43.
SAS888 вне форума Ответить с цитированием
Старый 07.04.2010, 11:09   #5
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

SAS888, спасибо что ответил, я в этом новичок с VBA никогда не имел дело, только VB

в принципе вот так:
В левые 5 столбцов вносятся каждый раз новые данные и сверяются с 5 правыми постоянными данными которые хранятся в файле
Если возможно, как я думаю, макрос должен сверять совпадения и абсолютно новые данные и совпавшие выносить на новый лист также по 5 столбцов

Вот пример:
База_1.rar
Dealaxer вне форума Ответить с цитированием
Старый 07.04.2010, 11:12   #6
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

И самое главное данные должны сверятся только по номерам, а все остальные столбцы просто переносится
Dealaxer вне форума Ответить с цитированием
Старый 08.04.2010, 11:07   #7
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

Люди помогите пожалуйста, не могу разобраться в этом
Dealaxer вне форума Ответить с цитированием
Старый 08.04.2010, 20:01   #8
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

Прям монолог)))
Dealaxer вне форума Ответить с цитированием
Старый 09.04.2010, 04:36   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Запустите макрос "Main". Что не так?
Вложения
Тип файла: rar База_2.rar (10.2 Кб, 247 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 09.04.2010, 11:17   #10
Dealaxer
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 12
По умолчанию

SAS888, вы действительно знаток своего дела, спасибо огромнейшее, очень помогло!)))
А можно сделать небольшие дополнения, например, в столбце Состояние если написано открыто, то в столбце Счет будет отображаться сумма 20, если Закрыто или пусто, то в счете либо 0 либо пусто?
И хорошо было если такое возможно, сделать макрос на странице Результат, чтобы он копировал найденные новые данные в основную базу на 1 странице, с помощью кнопки?
Dealaxer вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для поиска и замены слов на слова с верхним подчеркиванием salvafion Microsoft Office Word 4 07.09.2009 19:14
Макрос Excel поиска и вставки igorok Microsoft Office Excel 2 08.07.2009 18:49
Надо макрос для Excel для перестановки букв dionisprf Microsoft Office Excel 2 10.06.2009 06:04
Модуль для поиска значений wnuks Microsoft Office Excel 1 02.07.2008 07:46
Макрос для поиска/замены Davidoff Microsoft Office Excel 1 20.01.2007 16:01