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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2011, 09:38   #1
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию Условное форматирование с управляющего листа

Сделано условное форматирование с помощью управляющего листа
но только цвета ячеек

Нужно форматирование шрифта (цвет, толщину) ?

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target = "" Then
Target.Interior.ColorIndex = xlNone: Exit Sub
End If
Dim x As Range, s As String
s = Application.Trim(Replace(Split(Target, "-")(0), "", ""))
Set x = Sheets(2).[A:A].Find(Split(s, " ")(0))
If x Is Nothing Then Exit Sub
If x.Interior.ColorIndex <> xlNone Then Target.Interior.ColorIndex = x.Interior.ColorIndex

End Sub



файл прилагаю
Вложения
Тип файла: rar условное форматирование v1.rar (7.7 Кб, 10 просмотров)
Uralmaster вне форума Ответить с цитированием
Старый 04.02.2011, 09:56   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Я Вам уже отвечал на этот вопрос:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target = "" Then
        Target.Interior.ColorIndex = xlNone: Exit Sub
    End If
    Dim x As Range, s As String
    s = Application.Trim(Replace(Split(Target, "-")(0), "", ""))
    Set x = Sheets(2).[A:A].Find(Split(s, " ")(0))
    If x Is Nothing Then Exit Sub
    If x.Interior.ColorIndex <> xlNone Then
    Target.Interior.ColorIndex = x.Interior.ColorIndex
    Target.Font.ColorIndex = x.Font.ColorIndex
    End If
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 04.02.2011, 10:20   #3
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

спасибо за поддержку - цвет понятно - а чтоб еще форматирование шрифта жирный- простой по образцу делал - такое возможно ?
Uralmaster вне форума Ответить с цитированием
Старый 04.02.2011, 10:37   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Да.
Добавьте:
Target.Font.bold = x.Font.bold
и т.д.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 04.02.2011 в 11:01.
kuklp вне форума Ответить с цитированием
Старый 04.02.2011, 10:45   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Можно короче:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target = "" Then
        Target.Interior.ColorIndex = xlNone: Exit Sub
    End If
    Dim x As Range, s As String
    s = Application.Trim(Replace(Split(Target, "-")(0), "", ""))
    Set x = Sheets(2).[A:A].Find(Split(s, " ")(0))
    If x Is Nothing Then Exit Sub
    x.Copy
    Target.PasteSpecial Paste:=xlPasteFormats
End Sub
Но будет тормозить.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 04.02.2011 в 11:08.
kuklp вне форума Ответить с цитированием
Старый 04.02.2011, 10:55   #6
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

добавление Target.Font.bold = x.Font.font.bold ошибку выкидывает
Uralmaster вне форума Ответить с цитированием
Старый 04.02.2011, 10:57   #7
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

по 2 коду затыкается на строке
s = Application.Trim(Replace(Split(Targ et, "-")(0), "", ""))

она красная получается в VBA
Uralmaster вне форума Ответить с цитированием
Старый 04.02.2011, 11:03   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Target.Font.bold = x.Font.bold
По второму коду удалите пробел в Target.
Это сайт вставляет почему-то.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 04.02.2011 в 11:05.
kuklp вне форума Ответить с цитированием
Старый 04.02.2011, 11:05   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Описки, искажения движка...
x.Font.bold
Split(Target, "-")(0), "", "")
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.02.2011, 11:11   #10
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Описки, искажения движка...
x.Font.bold
Split(Target, "-")(0), "", "")
Привет, Игорь. Если заключать в теги - не искажает, но тогда пустые строки вставляет, приходится их потом удалять.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условное форматирование Fezdipekla Microsoft Office Excel 15 17.12.2010 09:21
условное форматирование Tessi123 Microsoft Office Excel 2 23.09.2010 14:32
Условное форматирование asas2010 Microsoft Office Excel 0 30.03.2010 16:26
Условное форматирование! BRM Microsoft Office Excel 6 18.12.2009 16:56
Условное форматирование Asu Microsoft Office Excel 2 18.10.2007 10:14