Дня доброго дамы и господа. У меня возник еще один вопрос по автомотизации экселя... Задача не сложная наверно для гуру но для рядового пользователя эксель иногда тупиковая.
Пример следующий Нужно написать функцию при нажатии на которую клетка окрашивалась в определенный цвет. Далее по нажатию кнопки определялось чило окрашенных клавишь и выводилось в ячейку
Я пытался сделать по двум примерам:
Пример первый:
Код
'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 для расчетов и отрисовки деталей.
Движемся черепашьими шагами вперед Вопросы не по теме (не активируются ...) удалены [МОДЕРАТОР] И еще вопрос почему так сильно разнятся цвета в 2007 и 2003 от светло зеленого до термоядерного