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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2009, 11:39   #1
shad0w
Пользователь
 
Регистрация: 02.12.2007
Сообщений: 17
По умолчанию Совпадения

Привет всем, помогите плиз найти ошибку, нужно найти совпадения в столбце и если они нашлись, выделить их, я делаю так:
Код:
Sub Макрос3()
Dim i, j, r
  Set r = Selection
    For Each i In r.Cells
        For Each j In r.Cells
            If (i.Text = j.Text) And (i.Text <> "") Then
                With j.Interior
                    .ColorIndex = 3
                    .Pattern = xlSolid
                End With
           End If
        Next
      Next
End Sub
но выделяются не только совпадения, на странность это при вчерашнем тесте на древнем офисе работало, а на 2003 нет
shad0w вне форума Ответить с цитированием
Старый 21.08.2009, 11:57   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Чем искать ошибку, давайте лучше воспользуемся более простым и рабочим макросом:
Код:
Sub Main()
    Dim Cell As Range: Application.ScreenUpdating = False
    For Each Cell In Selection
        If Cell <> "" Then If Application.CountIf(Selection, Cell) > 1 Then Cell.Interior.ColorIndex = 6
    Next
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 21.08.2009, 12:05   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от shad0w Посмотреть сообщение
Привет всем, помогите плиз найти ошибку, нужно найти совпадения в столбце и если они нашлись, выделить их, я делаю так:
Код:
Sub Макрос3()
Dim i, j, r.....
но выделяются не только совпадения, на странность это при вчерашнем тесте на древнем офисе работало, а на 2003 нет
В общем-то понятно почему выделяет все ячейки. Вы же сравниваете диапазон сам с собой. Конечно там все ячейки совпадают. Одно странно - как это могло работать корректно где-то вообще?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 21.08.2009, 12:42   #4
shad0w
Пользователь
 
Регистрация: 02.12.2007
Сообщений: 17
По умолчанию

SAS888 спасибо
The_Prist аа, извините, ступил)
shad0w вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться с сравнением 2-х двумерных масивов на совпадения текста tj_pablo Общие вопросы C/C++ 0 11.03.2009 22:21
как вывести факт совпадения? Dennikid Общие вопросы Delphi 0 29.10.2008 16:05