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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2014, 14:57   #1
Aidarkin
 
Регистрация: 07.12.2011
Сообщений: 4
По умолчанию Изменение цвета заливки ячейки в столбце согласно словарю

Помогите знатоки!
Есть макрос изменения цвета шрифта согласно словарю "название"=цвет.
Нужно переделать на изменение цвета ЗАЛИВКИ столбца согласно словарю.

Файл во вложении


___________________________________ ________________________
КОД:

Sub ColorCells()
Application.ScreenUpdating = False
Dim iStart As Integer
Dim rng As Range, cell As Range, sSearchString As String, lastRow&, i&, color&

Set rng = Selection

lastRow = Sheets("ñëîâàðü").[a1000].End(xlUp).Row

For i = 1 To lastRow
If Sheets("ñëîâàðü").Range("A" & i).Interior.ColorIndex <> xlAutomatic Then
color = Sheets("ñëîâàðü").Range("A" & i).Interior.color
Else
color = -65536
End If
sSearchString = Sheets("ñëîâàðü").Range("A" & i).Value

For Each cell In rng
If cell Like "*" & sSearchString & "*" Then
iStart = InStr(cell.Value, sSearchString)
With cell.Characters(Start:=iStart, Length:=Len(sSearchString)).Font
.Bold = True
.color = color
End With
End If

Next
Next

Application.ScreenUpdating = True
Вложения
Тип файла: zip 6704388.zip (10.9 Кб, 11 просмотров)
Aidarkin вне форума Ответить с цитированием
Старый 08.05.2014, 15:30   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Добавил 1 строку, отключил 5.
Код:
Sub ColorCells()
Application.ScreenUpdating = False
    Dim iStart As Integer
    Dim rng As Range, cell As Range, sSearchString As String, lastRow&, i&, color&
    
    Set rng = Selection
    
lastRow = Sheets("словарь").[a1000].End(xlUp).Row

For i = 1 To lastRow
If Sheets("словарь").Range("A" & i).Interior.ColorIndex <> xlAutomatic Then
    color = Sheets("словарь").Range("A" & i).Interior.color
Else
    color = -65536
End If
 sSearchString = Sheets("словарь").Range("A" & i).Value

    For Each cell In rng
        If cell Like "*" & sSearchString & "*" Then
          cell.Interior.color = color
'            iStart = InStr(cell.Value, sSearchString)
'            With cell.Characters(Start:=iStart, Length:=Len(sSearchString)).Font
'                .Bold = True
'                .color = color
'            End With
        End If
   
    Next
    Next

Application.ScreenUpdating = True
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 12.05.2014, 06:30   #3
Aidarkin
 
Регистрация: 07.12.2011
Сообщений: 4
По умолчанию

Спасибо большое! Заработало!)
Aidarkin вне форума Ответить с цитированием
Старый 12.05.2014, 08:11   #4
Aidarkin
 
Регистрация: 07.12.2011
Сообщений: 4
По умолчанию

Хочу закрасить левее ячейку относительно Selection.

Код:

For Each cell In rng
If cell Like "*" & sSearchString & "*" Then
rng.Offset(0, -1).Interior.color = color


Закрашивает столбцы одним последним цветом. По одному правильно закрашивает.Как исправить?
Вложения
Тип файла: zip 6704388.zip (10.7 Кб, 7 просмотров)

Последний раз редактировалось Aidarkin; 12.05.2014 в 12:00.
Aidarkin вне форума Ответить с цитированием
Старый 12.05.2014, 14:23   #5
Aidarkin
 
Регистрация: 07.12.2011
Сообщений: 4
По умолчанию

Разобрался

For Each cell In rng
If cell Like "*" & sSearchString & "*" Then

cell.Offset(0, -1).Interior.color = color
Aidarkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение цвета ячейки dbgrid(a) Konstantin_ua БД в Delphi 13 25.12.2013 14:16
Изменение цвета ячейки по гипессылке Ayse Microsoft Office Excel 15 17.07.2013 10:46
Изменение цвета ячейки DBGridEh Dandy777 Общие вопросы Delphi 2 07.11.2012 14:46
DBGrid изменение цвета ячейки S.T.U.D.E.N.T C++ Builder 6 24.04.2012 13:21
Изменение цвета ячейки содержащей формулу LexxSakhalin Microsoft Office Excel 7 07.09.2010 14:36