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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2010, 18:08   #1
Olya1985
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 113
По умолчанию сообщение о повторах vba

Подскажите, пожалуйста, как написать макрос для excel, который выдавал бы сообщение “повтор”, если в ячейку в одном столбце (может быть любое количество строк) вводится повторное число.
Olya1985 вне форума Ответить с цитированием
Старый 31.12.2010, 18:24   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

В модуль листа:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    Application.EnableEvents = False
    For Each c In Me.Columns(Target.Column).Cells
        If c.Address <> Target.Address And c.Value = Target.Value Then
        MsgBox "Повтор"
        Exit For
'        Application.Undo
        End If
    Next
    Application.EnableEvents = True
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.12.2010, 18:30   #3
Olya1985
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 113
По умолчанию спасибо

А в этом скрипте нужно вставить номер колонки вместо какого-то значения? например, мне нужно чтобы повторы искались в колонке A.
Olya1985 вне форума Ответить с цитированием
Старый 31.12.2010, 18:41   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Тогда еще лучше, пошустрей будет:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    If Intersect(Target, Me.Columns(1)) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each c In Me.UsedRange.Columns(1).Cells
        If c.Address <> Target.Address And c.Value = Target.Value Then
        MsgBox "Повтор"
        Exit For
'        Application.Undo
        End If
    Next
    Application.EnableEvents = True
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.12.2010, 18:57   #5
Olya1985
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 113
По умолчанию vba

а как он работает? у меня что то не получается...
Olya1985 вне форума Ответить с цитированием
Старый 31.12.2010, 19:04   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Оля, а куда Вы его вставляете? Нужно в модуль листа: ПКМ по ярлычку листа-Исходный текст. И еще. Макросы у вас включены? Ладно, сейчас дам файл.
Вложения
Тип файла: rar a.rar (6.5 Кб, 8 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.12.2010, 19:07   #7
Olya1985
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 113
По умолчанию

я вставляю в модуль макроса excel
Olya1985 вне форума Ответить с цитированием
Старый 31.12.2010, 19:14   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Оля, Вы мой файл смотрели? Еще раз повторяю(в 3-й) нужно в модуль ЛИСТА. Не в общий модуль.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.12.2010, 19:20   #9
Olya1985
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 113
По умолчанию

все, разобралась ) спасибо! а вы профессионально занимаетесь программированием? я вот только хочу начать изучать vba
Olya1985 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
VBA не пойму почему не скрипт читает второе сообщение Drek Помощь студентам 0 20.07.2010 01:06
Сообщение... KoBRaAndrey Общие вопросы Delphi 8 02.10.2009 18:56
Сообщение Shevali Общие вопросы Delphi 3 07.06.2009 19:53