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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2013, 14:11   #1
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
Вопрос Поиск повторяющего текста

Добрый день.
Мне необходим макрос, который находит повторяющийся текст при его вводе и выводит окно предупреждения
(Во вложение есть наглядный пример).
Вложения
Тип файла: zip Книга1.zip (22.1 Кб, 19 просмотров)
Сергей Ш. вне форума Ответить с цитированием
Старый 09.07.2013, 15:01   #2
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Держите код
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim myF As Range
    If Target.Column = 2 And Target.Value <> "" Then
        Set myF = Columns(2).Find(Target.Value)
        If Not myF Is Nothing Then
            If myF.Row <> Target.Row Then
                MsgBox "Есть совпадение" & vbCrLf & myF.Offset(, -1).Value & " " & myF.Value & " " & myF.Offset(, 3).Value
            End If
        End If
    End If
End Sub
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 09.07.2013, 15:30   #3
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Отлично! ) Спс.
Вопрос: А если допустим не вписываешь, а вставляешь несколько скопированных имен в столбик "ФИО" и среди них находятся повторяющиеся имена, то как быть?

Последний раз редактировалось Сергей Ш.; 10.07.2013 в 06:56.
Сергей Ш. вне форума Ответить с цитированием
Старый 10.07.2013, 12:52   #4
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Может кто поможет с задачей (
Сергей Ш. вне форума Ответить с цитированием
Старый 10.07.2013, 13:13   #5
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

тогда так:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim myF As Range, x As Range, s$
    If Target.Column = 2 Then
        For Each x In Target.Columns(1).Cells
        Set myF = Columns(2).Find(x.Value)
        If Not myF Is Nothing Then
            If myF.Row <> x.Row Then
                s = s & myF.Offset(, -1).Value & " " & myF.Value & " " & myF.Offset(, 3).Value & vbCrLf
            End If
        End If
        Next x
    End If
    If s <> "" Then MsgBox "Есть совпадение" & vbCrLf & s

End Sub
slan вне форума Ответить с цитированием
Старый 11.07.2013, 12:55   #6
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

То что нужно
Большое спасибо
Сергей Ш. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск текста с копированием ячеек типа ВПР но для сложного текста! Elkin_087 Microsoft Office Excel 1 24.06.2012 22:06
Поиск текста Krasi Qt и кроссплатформенное программирование С/С++ 0 04.11.2011 18:36
Поиск текста Хаи Помощь студентам 8 23.06.2011 15:05
Поиск текста... Fizerator Общие вопросы Delphi 1 15.04.2011 15:19
Поиск Текста на VC shAdoo00w Помощь студентам 1 14.02.2011 10:48