Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / If...Then... / 12 сообщений из 12, страница 1 из 1
26.03.2010, 16:48
    #36545227
Юрий08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Кто может помочь в решении такой задачи:

В столбце есть список клиентов. Некоторые ячейки с названием клиентов залиты желтым цветом (65535, например).

Как написать макрос, который будет выполнять следующие условия: Если значение НЕзалитой ячейки равняется значению залитой ячейки, то залить ее таким же цветом (или любым другим)
...
Рейтинг: 0 / 0
26.03.2010, 16:59
    #36545266
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Юрий08,

Цвет активной ячейки проверяется (и устанавливается) через:
Код: plaintext
ActiveCell.Interior.ColorIndex
...
Рейтинг: 0 / 0
26.03.2010, 16:59
    #36545267
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Юрий08,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Macro4()
'
' Macro4 Macro
' Macro recorded 26.03.2010
'

'
    Cells.Select
    With Selection.Interior
        .ColorIndex =  6 
        .Pattern = xlSolid
    End With
    Range("A1").Select
End Sub

:)
...
Рейтинг: 0 / 0
26.03.2010, 17:03
    #36545279
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Утртрую, но всё же где надо проверять, не по всему же листу искать залитые ячейки и затем заливать почти все остальные, если будет много помеченных.
...
Рейтинг: 0 / 0
26.03.2010, 17:08
    #36545291
Юрий08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Hugo121,

что-то не то получилось - весь лист просто залялся желтым цветом. А мне надо залить только те ячейки, которые по значнию равняются залитой ячейке.
...
Рейтинг: 0 / 0
26.03.2010, 17:09
    #36545295
Юрий08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Hugo121,

Пусть будем искать в Сотлбце "А" и заливать там же.
...
Рейтинг: 0 / 0
26.03.2010, 18:54
    #36545544
trofik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Юрий08,
сортировка не спасет?
...
Рейтинг: 0 / 0
26.03.2010, 21:51
    #36545686
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Юрий08 ,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Option Explicit

Sub ColoredDup()
Dim sht As Worksheet
Dim iLastRow As Long
Dim rr As Range, cc As Range, x As Range
Dim iFirstAddress$

Set sht = ThisWorkbook.Sheets( 1 )
iLastRow = sht.Cells(Rows.Count, "A").End(xlUp).Row
Set rr = Range(sht.Cells( 1 ,  1 ), sht.Cells(iLastRow,  1 ))
For Each cc In rr.Cells
If cc.Interior.ColorIndex =  6  Then
Set x = rr.Find(cc.Value, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False)
If Not x Is Nothing Then
iFirstAddress = x.Address
Do
Set x = rr.FindNext(x)
sht.Cells(x.Row, x.Column).Interior.ColorIndex =  6 
Loop While Not x Is Nothing And x.Address <> iFirstAddress
End If
End If
Next

End Sub

Но проверку на лишние пробелы надо сперва сделать. Можно в код прописать, чтоб он искал по значению без пробелов, но тогда надо искать частичное совпадение, а тогда найдёт например " Иванов " в "Ивановский "
Или добавить такую строку:
Код: plaintext
1.
cc.Value = Application.WorksheetFunction.Trim(cc.Value) ' будут удаляться лидирующие и финиширующие пробелы, а также многократные пробелы между словами (исползуется стандартная функция СЖПРОБЕЛЫ)
тогда в первом столбце будет порядок с пробелами. Но если тут были формулы - останутся значения. Тогда надо сперва проверить на наличие формулы и такие ячейки не преобразовывать...
...
Рейтинг: 0 / 0
27.03.2010, 17:26
    #36546306
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Сейчас подумал - если повторов и уже помеченных много, то найденные дубликаты лучше в другой цвет красить - тогда код повторно не будет искать уже найденных и перекрашивать уже покрашенных.
...
Рейтинг: 0 / 0
29.03.2010, 10:43
    #36547606
Юрий08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Лишних пробелов быть не может. Все данные выкачиваются из базы.
А вот повторяющиеся значения очень даже могут быть.

Спасибо!
...
Рейтинг: 0 / 0
29.03.2010, 10:44
    #36547609
Юрий08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
trofik,
нет, сортировка не спасет
...
Рейтинг: 0 / 0
29.03.2010, 12:41
    #36547896
Юрий08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
If...Then...
Hugo121,

Спасибо. Все работает!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / If...Then... / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]