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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.05.2010, 14:17   #31
timsi
 
Регистрация: 23.05.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Ну, тогда можно и так:
Код:
Sub Main()

    Dim i As Long, x As Range, Fst As String
    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
        For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            Set x = .Columns("A").Find(what:=Cells(i, "A"), LookAt:=xlWhole)
            If Not x Is Nothing Then
                Cells(i, "A").Interior.ColorIndex = 6
                Fst = x.Address
                Do
                    .Cells(x.Row, "A").Interior.ColorIndex = 6
                    Set x = .Columns("A").FindNext(x)
                Loop While Fst <> x.Address
            End If
        Next
    End With
                    
End Sub
Добрый день всем. Огромное спасибо автору этого макроса. Очень помог. Есть вопрос: Если книга одна и диапазоны сравнения (D5:D70 и E5:E70), как выделить различия в диапазонах или сделать выборку этих значений. Заранее спасибо.
timsi вне форума
Старый 31.05.2010, 05:54   #32
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Конкретно для Ваших диапазонов, можно так:
Код:
Sub Main()
    Dim i As Integer, cell As Range: Application.ScreenUpdating = False
    [D5:E70].Interior.ColorIndex = xlNone
    For Each cell In [D5:E70]
        i = 5 - cell.Column Mod 2
        If Range(Cells(5, i), Cells(70, i)).Find(cell, , , xlWhole) Is Nothing Then cell.Interior.ColorIndex = 6
    Next
End Sub
Либо запускать макрос при активном листе с проверяемыми данными, либо при каждом обращении к ячейке (диапазону) добавить ссылку на этот лист.

P.S. Можно сделать и выборку. Прикрепите пример файла с данными и укажите, что выбирать и куда вставлять. А также, могут ли значения повторяться и что в этом случае делать.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 31.05.2010 в 06:42.
SAS888 вне форума
Старый 31.05.2010, 08:35   #33
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

EugeneS большое спасибо , очень благодарен!!!!
0creator0 вне форума
Старый 31.05.2010, 18:59   #34
Rysalochka
 
Регистрация: 27.05.2010
Сообщений: 3
По умолчанию

Помогите пожалуйста написать макрос, который будет находить строки, которые не повторяются и кидать их на другой лист. Или лучше удалять те данные, которые повторяются(но удалять он их должен полностью, т. е. если 6 повторилась пять раз, то пять строк и нужно удалить). Я применила автофильтр-поэтому смотреть нужно только по последнему столбцу.( в моем случае по столбцу G)
Прмер:изначально было

13 маша петя коля 6
24 маша петя коля 6
44 маша петя коля 7
77 маша петя коля 8
55 маша петя коля 6

Нужно, чтобы получилось так:
44 маша петя коля 7
77 маша петя коля 8
Вложения
Тип файла: rar Копия Книга1.rar (859.2 Кб, 10 просмотров)
Rysalochka вне форума
Старый 01.06.2010, 00:49   #35
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Цитата:
Сообщение от Rysalochka Посмотреть сообщение
Помогите пожалуйста написать макрос, который будет находить строки, которые не повторяются и кидать их на другой лист. Или лучше удалять те данные, которые повторяются(но удалять он их должен полностью, т. е. если 6 повторилась пять раз, то пять строк и нужно удалить)
можно, например, так, см. вложение
Вложения
Тип файла: zip Копия Книга1.zip (1.19 Мб, 12 просмотров)
EugeneS вне форума
Старый 01.06.2010, 06:40   #36
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А можно сделать и существенно быстрее. Например, так (см. вложение).
Вложения
Тип файла: rar Копия Книга1_2.rar (904.4 Кб, 38 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 02.06.2010, 21:17   #37
Rysalochka
 
Регистрация: 27.05.2010
Сообщений: 3
По умолчанию

Спасибо огромное!!!!!!!!!!!!!!!!
Rysalochka вне форума
Старый 04.06.2010, 01:14   #38
timsi
 
Регистрация: 23.05.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Конкретно для Ваших диапазонов, можно так:
Код:
Sub Main()
    Dim i As Integer, cell As Range: Application.ScreenUpdating = False
    [D5:E70].Interior.ColorIndex = xlNone
    For Each cell In [D5:E70]
        i = 5 - cell.Column Mod 2
        If Range(Cells(5, i), Cells(70, i)).Find(cell, , , xlWhole) Is Nothing Then cell.Interior.ColorIndex = 6
    Next
End Sub
Либо запускать макрос при активном листе с проверяемыми данными, либо при каждом обращении к ячейке (диапазону) добавить ссылку на этот лист.

P.S. Можно сделать и выборку. Прикрепите пример файла с данными и укажите, что выбирать и куда вставлять. А также, могут ли значения повторяться и что в этом случае делать.
Это просто гениально, спасибо огромное. Я новичок в VBA, прочитал огромное количество постов нигде не мог найти решения. Но за то благодаря вашим сообщениям, смог кое-что понять, а также прислушался к вашим советам о литературе по VBA. Ещё раз спасибо.
И вы правильно поняли, что это только одна часть задачи. Просто не хотел показаться наглым, да и полного понимания, что нужно, не было.
Моя же задача такова: из двух приложений ( SAP and Access ) на одном екселевском листе сформированы два столбца , их то мы и сверяем на идентичность. При нахождении различий, смотрим таблицу соответствия на листе 2 и изменяем данные в столбце D (лист 1). Файл приложил. Ещё раз огромное спасибо.
p.s. Надеюсь, что смог внятно изложить проблему.
Вложения
Тип файла: rar Пример.rar (16.6 Кб, 7 просмотров)
timsi вне форума
Старый 04.06.2010, 08:26   #39
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

timsi
Посмотрите вложение. Запустите макрос "Main". Сделал так, как понял. Макрос перебирает ячейки в столбце "D" и ищет каждое значение в столбце "E". Если такого нет, то ищет это значение в столбце "A" 2-го листа, и при совпадении, заменяет значение текущей ячейки на значение из столбца "C" найденной строки. Для визуализации работы, ячейки, значения которых были изменены, окрашиваются в светло-зеленый цвет. Ячейки, значения которых не найдены, окрашиваются в желтый цвет. Для проверки, с Вашего позволения, добавил еще одно значение в сравниваемый столбец (столбец "D" 1-го листа).
Вложения
Тип файла: rar Пример_2.rar (19.7 Кб, 14 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 25.06.2010, 13:22   #40
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию )

Здравствуйте есть маленькая проблемка буду рад если кто-нибудь подскажет её решить
Есть файл , всё сортирует, делает замечательно, но есть один недочёт когда он соединяет две ячейки со словами они получаются в одну строку , а хотелось бы что бы они были в одной ячейки, но с переносом по строчное, то есть
На вкладке Сумма есть такое выражение в одну строку
Ушко 20-а ГОСТ 1050-88
А надо в одной ячейке, но в две строки, то есть
Ушко
20-а ГОСТ 1050-88
Вложения
Тип файла: rar Выборка опор.rar (22.1 Кб, 12 просмотров)
0creator0 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
ПОИСК ОДИНАКОВЫХ СЛОВ (не проходите мимо!) MAD Помощь студентам 12 24.12.2007 22:41
Нахождение двух одинаковых элементов в массиве Stas))) Помощь студентам 4 01.06.2007 12:23
Поиск одинаковых строк в файле ATL Помощь студентам 13 02.05.2007 01:05
2 одинаковых Ip адреса Alar Работа с сетью в Delphi 12 24.12.2006 10:21