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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2010, 19:08   #1
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию На какое событие повесить процедуру изменения насыщенности шрифта в ячейке?

При клике на ячейке(определённой!) хотелось бы переключать насыщенность её шрифта:
Selection.Font.Bold = Not Selection.Font.Bold
но не пойму на какое событие посадить процедуру?
O_H вне форума Ответить с цитированием
Старый 19.08.2010, 19:33   #2
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

Как-то так:

PHP код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
Dim rng As RangeAs Range
    On Error Resume Next
    Set rng 
Intersect(Target, [A1:C10])
    
On Error GoTo 0
    
If rng Is Nothing Then Exit Sub
    Application
.ScreenUpdating False
    
For Each c In rng
        c
.Font.Bold Not c.Font.Bold
    Next c
    Application
.ScreenUpdating True
End Sub 
Где [A1:C10] - область ограничивающая действие макроса.
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN

Последний раз редактировалось KL (XL); 19.08.2010 в 19:36.
KL (XL) вне форума Ответить с цитированием
Старый 19.08.2010, 19:39   #3
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

К сожалению, событие SelectionChange возникает "через клик", т.е. первый клик на ячейке событие вызовет, но второй клик на ней же событие не вызывает.
Второй клик д.б. ещё где-то... тогда третий клик можно опять делать на нужной ячейке - событие опять вызовется...
Видно, повторный клик на той-же ячейке не воспринимается листом как это самое ...Change

Последний раз редактировалось O_H; 19.08.2010 в 19:55.
O_H вне форума Ответить с цитированием
Старый 19.08.2010, 20:06   #4
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

О!
надо после строки изменяющий шрифт добавить
Range("<какая-нибудь ячейка за пределами экрана>").Activate
За код процедуры - спасибо!

Последний раз редактировалось O_H; 19.08.2010 в 20:42.
O_H вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На какое событие привязать? alco84 Microsoft Office Access 1 08.04.2010 12:49
Цвет шрифта в ячейке kzld Microsoft Office Excel 16 07.12.2009 17:17
Какое событие присвоить кнопке?(делфи) Gunet Помощь студентам 1 16.11.2009 20:16
какое событие отвечает за получени/потерю фокуса у формы? Paul Hindenburg Общие вопросы Delphi 4 10.06.2008 14:47
Какое событие происходит при переходе из оконного режима формы в полноэкраный (развернутый)? Luciferium Общие вопросы Delphi 9 09.03.2008 17:36