Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/32: Рейтинг темы: голосов - 32, средняя оценка - 4.81
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
1

Сумма чисел в ячейках без заливки и подчеркивания. Написать функцию

12.01.2012, 14:46. Показов 5718. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! У меня есть экселевский документ, там есть таблица с числами. Мне нужно было создать функцию, которая суммировала все числа, кроме тех, которые был залиты красным цветом или зачеркнуты. Создал функцию в modules....вызываю функцию. Выдается сообщение "У этой функции нет аргументов". В чем проблема?! Я не понимаю..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2012, 14:46
Ответы с готовыми решениями:

Сумма чисел в ячейках QTableWidget
Приветствую. Нужно посчитать сумму чисел в выбранных ячейах. Сам алгоритм в теории понятен, но...

Написать функцию, находящую пару чисел, сумма которых меньше заданного числа
Здравствуйте,помогите пожалуйста решить задачу. Требуется написать функцию,принимающую введенное...

Написать функцию, коротая должна вывести текст без чисел
ПОМОГИТЕ РЕШИТЬ? Написать функцию, коротая принимает в качестве параметра текст вместе с числами....

Написать логическую функцию, которая возвращает true, если сумма чисел - положительное число
Неплохие задачи по С++! Подзабыл его( выручайте, буду очень благодарен 3. Даны два целых числа....

15
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
12.01.2012, 15:20 2
Как объявлена функция? Должно быть
Visual Basic
1
Function MyFunc(r As Range)
r - аргумент.
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 18:20  [ТС] 3
Я написал функцию в modules, я с VBA первый раз..мне препод дал файл excel, там таблица есть с числами, некоторые числа закрашены, а остальные нет. Нужно посчитать сумму только тех чисел, которые незакрашены.
Вот как я написал функцию.

Visual Basic
1
2
3
4
5
6
Function Summer(Summ_Range as Range) as Integer
   Dim cell as Range
   For Each cell in Summ_Range
       If cell.Font.Color<>red Then Summer=Summer+cell.Value
   Next
End Function

И при вызове функции выдается сообщение "У данной функции аргументов нет"
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.01.2012, 19:17 4
Так цвет шрифта или заливка ячейки?
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 19:28  [ТС] 5
Заливки ячейки
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
12.01.2012, 19:37 6
Все работает, только vbRed вместо red:
Вложения
Тип файла: xls summer.xls (29.5 Кб, 83 просмотров)
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 19:54  [ТС] 7
Спасибо, но в моем файле у меня не работает. Хотя сделано все тоже самое. Мне файл препод дал.
При вызове функции пишет "У данной функции аргументов нет"

Добавлено через 5 минут
Но она не считает те, у которых цвет шрифта красный, а мне надо чтобы не считал те, у которых заливка красная

Добавлено через 2 минуты
Еще есть один нюанс.....при изменении одной какой то ячейки на красный цвет, она уже считаться не должна.....а она все равно суммируется.
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.01.2012, 20:06 8
Используйте свойство определение заливки .Interior.Color
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 20:11  [ТС] 9
Простите, это как? Я с VBA впервые сталкиваюсь
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.01.2012, 20:14 10
Visual Basic
1
 If cell.Interior.Color <> vbRed Then Summer=Summer+cell.Value
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 20:21  [ТС] 11
Только эту строчку написать? или как что? Вообщем мне нужно...во у нас есть числа 1,2,3,4. Сумма получилась 10...потом я залил ячейку 1 красным цветом и он должен автоматически пересчитать сумму...то есть уже должно быть написано 9 вместо 10
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.01.2012, 20:26 12
Изменение заливки не является событием для пересчета, нажмите F9/
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 20:59  [ТС] 13
Но мне так препод сказал. Как сделать то? Или это невозможно

Добавлено через 30 минут
Ответьте пожалуйста
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.01.2012, 21:42 14
Да можно, но с некоторыми условиями (описаны в файле)
Вложения
Тип файла: xls summer_toiai.xls (34.5 Кб, 28 просмотров)
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
12.01.2012, 22:05  [ТС] 15
А как использовать это событие SelectionChange?
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
14.01.2012, 13:46 16
События SelectionChange уже использовано в файле (#14). Открой редактор VBA на Лист1.
0
14.01.2012, 13:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2012, 13:46
Помогаю со студенческими работами здесь

Нужно написать функцию или процедуру в которой сумма трёх непарных чисел наименьшая?
Делаю практику нужно помочь с заданием по функциям и процедурам задание такое: нужно написать...

Написать функцию для определения наличия в файле чисел, у которых сумма цифр целой и дробной части равны
2)Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для...

Написать логическую функцию, которая возвращает true, если сумма чисел - положительное число, и false в обратном случае.
Даны два целых числа. Написать логическую функцию, которая возвращает true, если сумма чисел -...

Написать функцию для определения есть ли среди данных чисел такое, сумма цифр целой и дробной части которого равны
Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для определения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru