Дня доброго дамы и господа.
У меня возник еще один вопрос по автомотизации экселя...
Задача не сложная наверно для гуру но для рядового пользователя эксель иногда тупиковая.
Пример следующий
Нужно написать функцию при нажатии на которую клетка окрашивалась в определенный цвет.
Далее по нажатию кнопки определялось чило окрашенных клавишь и выводилось в ячейку
Я пытался сделать по двум примерам:
Пример первый:
как переработать функцию чтобы при нажатии ячейка просто закрашивалась?
Вторая функция с вашего сайта:
Но проблема в том что она не обновляется автоматом надо чтоб или автоматом или по жмаконью кнопки.
она обновлялась.
P/s если не сложно посоветуйте книгу по программированию на VBA
начальство поставило задачу скрестить эксель и корел под VBA для расчетов и отрисовки деталей.
У меня возник еще один вопрос по автомотизации экселя...
Задача не сложная наверно для гуру но для рядового пользователя эксель иногда тупиковая.
Пример следующий
Нужно написать функцию при нажатии на которую клетка окрашивалась в определенный цвет.
Далее по нажатию кнопки определялось чило окрашенных клавишь и выводилось в ячейку
Я пытался сделать по двум примерам:
Пример первый:
| Код |
|---|
'CODE 1 Ставим флажок, если был одиночный щелчок по ячейке
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A6:A1000" ;) ) Is Nothing Then 'Если ячейка пересекается с указанным диапазоном, то
Target.Font.Name = "Marlett" 'Назначаем ячейке шрифт
If Target = vbNullString Then 'Если ячейка пуста, то
Target = "a" 'заполняем её символом "а" (латиница)
Else 'Иначе
Target = vbNullString 'в ячейке пусто
End If
Target.Offset(0, 1).Activate '"отскакиваем" вправо на один столбец
End If
End Sub
|
как переработать функцию чтобы при нажатии ячейка просто закрашивалась?
Вторая функция с вашего сайта:
| Код |
|---|
Public Function SumByColor(DataRange As Range, ColorSample As Range) As Double Dim Sum As Double Application.Volatile True For Each cell In DataRange If cell.Interior.Color = ColorSample.Interior.Color Then Sum = Sum + 1 End If Next cell SumByColor = Sum End Function |
Но проблема в том что она не обновляется автоматом надо чтоб или автоматом или по жмаконью кнопки.
она обновлялась.
P/s если не сложно посоветуйте книгу по программированию на VBA
начальство поставило задачу скрестить эксель и корел под VBA для расчетов и отрисовки деталей.
Изменено: - 10.07.2013 22:01:06